我有一个必须通过以下
传递的URL结构www.mysite.com/path1/path2/pageA.html - www.mysite.com/pageA.html
www.mysite.com/path1/path2/path3/pageB.html - www.mysite.com/path3/pageB.html
所以我需要在域之后隐藏/ path1 / path2。
我在配置文件
中编写了以下代码RewriteRule ^/(.*)$ /path1/path2/$1 [PT, L]
我在使用此代码时出现以下错误
RewriteCond: bad flag delimeters
答案 0 :(得分:2)
您的错误是因为PT,
和L
之间有空格,因为mod_rewrite对于解析事物并不那么聪明,所以它认为这是两个不同的参数。
另一件事是您的URI模式以/
开头,因为apache 2,用于匹配htaccess文件中的规则的URI删除了前导斜杠,因此您无法匹配{{1} }。
最后一点是你的规则可能导致重写循环,因为规则的目标将匹配下一次迭代中的模式。 Mod_rewrite循环遍历所有规则,直到URI停止更改,因此您可能需要添加条件以防止这种情况发生:
^/