我在Google中索引了一个无效目录,并且由于一些动态相对链接,我现在有2500个“缺失”页面已编入索引。我正在尝试使用.htaccess 301重定向来纠正问题,但我似乎无法让它工作。我需要将www.domain.com/shop/pc/.../pc/filename.asp
重定向到www.domain.com/shop/pc/filename.asp
。
我写的不想工作的规则是RewriteRule ^shop/pc/\.\.\./pc/(.*)$ /shop/pc/$1 [R=301,L]
有什么想法吗?
答案 0 :(得分:1)
mod_rewite使用PCRE,所以对于这些Unicode字符(我也包括了两个点头,因为我认为它更可能潜入URL而不是省略号):
# U+2026 … \xe2\x80\xa6 HORIZONTAL ELLIPSIS
RewriteRule ^shop/pc/\xe2\x80\xa6/pc/(.*)$ /shop/pc/$1 [R=301,L]
# U+2025 ‥ \xe2\x80\xa5 TWO DOT LEADER
RewriteRule ^shop/pc/\xe2\x80\xa5/pc/(.*)$ /shop/pc/$1 [R=301,L]
注意,如果浏览器以百分比形式转义省略号,则可能需要[B]标志(see flags)。