【发布时间】:2014-10-17 13:44:05
【问题描述】:
我遇到过类似的问题,例如this one,并在mod_rewrite tutorials 上找到了类似的说明。
我已经确定我需要一些类似的东西
RewriteRule ^(.*)<(.*)$ /$1$2 [L,R=301]
RewriteRule ^(.*)>(.*)$ /$1$2 [L,R=301]
这适用于http://domain.com/<>,但它确实不适用于http://domain.com?a=<>
在尝试从查询字符串中删除这些字符时,我还添加了以下内容:
RewriteCond %{QUERY_STRING} ^(.*)<(.*)$
RewriteRule ^(.*)$ /$1?%1%2 [L,R=301]
RewriteCond %{QUERY_STRING} ^(.*)>(.*)$
RewriteRule ^(.*)$ /$1?%1%2 [L,R=301]
这并没有改变任何东西。我也尝试在正则表达式中转义 (即^(.*)\<(.*)$)。
我想要达到的最终结果是拥有
http://domain.com/<whatever> 变成http://domain.com/whatever,然后
http://domain.com/a=<whatever>&b=whatever变成http://domain.com/a=whatever&b=whatever
【问题讨论】:
标签: .htaccess mod-rewrite