目标是从
进行重定向/Swiss+Military/something..
到
/Swiss+Military+Hanowa/something..
我试过了:
RewriteCond %{REQUEST_URI} /Swiss+Military/(.*)
RewriteRule .* /Swiss+Military+Hanowa/%1 [R=301,L]
在9级重写日志会显示以下内容:
RewriteCond: input='/Swiss+Military/' pattern='/Swiss+Military/(.*)' => not-matched
我无法弄清楚为什么它不匹配.. 有什么想法吗?
已解决 - 需要在模式中逃脱+标志(我怎么没有提醒自己)
修改 对于这种情况甚至有更好的解决方案(我没有在开头放置,因为它没有用 - 与发布的原因相同) - 只有一个RewriteRule:
RewriteRule /Swiss\+Military/ /Swiss+Military+Hanowa/ [R=301,L]
答案 0 :(得分:0)
RewriteCond对模式使用Perl语法。这意味着模式中的“+”表示“匹配1或更多”(前一个字符)。尝试通过在它前面放一个斜杠来逃避模式中的“+”:'\ +'。