是否可以重定向而不更改.htaccess中的URL?

时间:2013-05-26 20:08:18

标签: .htaccess url redirect

我有这个网址:

http://localhost/search/

这会将此文件返回给我:

http://localhost/search.html

现在我想要具有这种结构的网址:

http://localhost/search/([^/]+)/([^/]+)/([^/]+)/?

也会将我重定向到search.html文件。但不改变网址。

例如使用此网址:

http://localhost/search/women/23/shoes/
http://localhost/search/
http://localhost/search/man/45/shirt/

将返回相同的文件:

http://localhost/search.html

注意男女网址在服务器中没有任何现有路径。

任何建议或帮助将不胜感激。如果您需要更多信息,请告诉我,我会编辑帖子。

2 个答案:

答案 0 :(得分:2)

RewriteEngine on
RewriteRule ^search/ /search.html

会好起来的。除非您明确请求外部重定向,否则同一域中的RewriteRule将不会执行一次,因此不会更改浏览器中显示的URL。

答案 1 :(得分:0)

如果您不需要其余的网址,则可以使用此

RewriteEngine On
RewriteRule ^search/(.*)$ /search.html [L]

如果您需要其他url参数,请告诉我

已编辑的版本,如果您不需要剩下的网址,Niels Keurentjes有一个观点

RewriteEngine On
RewriteRule ^search /search.html