点击时我必须访问以下网址:
localhost/b/c
redirect to
localhost/a/b/c
我尝试了这个重写规则:
RewriteCond [%{REQUEST_URI}] !^/?(a(/.*))/?$
RewriteRule ^/([A-Za-z0-9_]+)/?$ /a/$1 [R,L]
但它只适用于localhost/b
。不适用于localhost/b/c
,即多个级别。
RewriteCond [%{REQUEST_URI}] !^/?(a(/.*))/?$
RewriteRule ^/(.*)/?$ /a/$1 [R,L]
此规则正在循环并重写为url
localhost/a/a/a/a/a/a/a/a/a/a/a/b/c
非常感谢所有帮助。我是url重写的新手
答案 0 :(得分:0)
也许这可能对你有用:
RewriteCond %{REQUEST_URI} !^/?a/.*/?$
RewriteRule ^/(.*) /a/$1 [R,L]
我认为您的问题是您在[]
中使用RewriteCond
,而{}
应该{{1}}。
此外,启用RewriteLog有助于调试重写规则。
希望它可以帮助你前进。