.htaccess重定向问题中的符号

时间:2011-11-10 07:53:54

标签: .htaccess redirect

我在使用“%11”和“%28”重定向某些页面时遇到了一些问题。

我正在尝试重定向几页,其余的工作,但我意识到那些带有一些符号的页面没有重定向。

例如:

Redirect 301 /cars/mercedes%11benz/ http://www.example.com/cars/mercedes-benz/

Redirect 301 /alfa-romeo/alfa-romeo-147-%282001%E2%80%932009%29-2008090174/ http://www.example.com/cars/alfa-romeo-147/

不起作用。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

基本上指定只允许ASCII文本。你可能在网址中有空格。请删除它们。

对于mod_rewrite,我相信你已经做到了这一点,除了角色范围中的点字符不需要被转义,即连字符正确地位于开头并且空间被转义。 ü可能不需要逃脱,但不应该受伤)。至于进行转换的浏览器,这是Apache理解的“浏览器事物”(并在内部转换为正确的字符)。

试试这个:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^%?\ ]*\%
RewriteRule ^. http://www.example.com/ [R=301,L]


RewriteRule ^/cars/mercedes-benz/  http://www.test-site.com/cars/mercedes%11benz/ [QSA]