是否可以在不更改.htaccess中的url的情况下重定向?
我有这个网址:是否可以在不更改.htaccess中的url的情况下重定向?,.htaccess,url,redirect,.htaccess,Url,Redirect,我有这个网址: http://localhost/search/ 这会将此文件返回给我: http://localhost/search.html 现在,我希望URL具有以下结构: http://localhost/search/([^/]+)/([^/]+)/([^/]+)/? 也会将我重定向到search.html文件。但是不更改url 例如,使用以下URL: http://localhost/search/women/23/shoes/ http://localhost/search
http://localhost/search/
这会将此文件返回给我:
http://localhost/search.html
现在,我希望URL具有以下结构:
http://localhost/search/([^/]+)/([^/]+)/([^/]+)/?
也会将我重定向到search.html文件。但是不更改url
例如,使用以下URL:
http://localhost/search/women/23/shoes/
http://localhost/search/
http://localhost/search/man/45/shirt/
将返回相同的文件:
http://localhost/search.html
注意:男性和女性的URL在服务器中没有任何现有路径
如有任何建议或帮助,将不胜感激。如果您需要更多信息,请告诉我,我将编辑此帖子。如果您不需要url的其余部分,则可以使用此链接
RewriteEngine On
RewriteRule ^search/(.*)$ /search.html [L]
如果您需要了解url的其他参数,请告诉我
编辑版,如果您不需要url的其余部分,Niels Keurentjes有一点
RewriteEngine On
RewriteRule ^search /search.html
这样就行了。除非您明确请求外部重定向,
重写规则
在同一个域上不会执行此操作,因此不会更改浏览器中可见的URL。如果您不使用匹配项,(.*)
部分已过时,$
已过时,因为默认情况下*
是贪婪的,[L]
修饰符如果是其中的唯一规则,则该修饰符已过时。^/search/
与localhost/search
中的search
不匹配。不是在一个.htaccess文件中。没有尾随斜杠的文件实际上不会匹配,但也没有按要求指定:)我说的是前导斜杠:啊,我的错,完全没有看到-修复了。
RewriteEngine on
RewriteRule ^search/ /search.html