我正在努力解决重定向问题。我需要使用mod_rewrite彻底重定向以下URL .htaccess
http://www.mysite.com/somescript.php?&lang=php&var=1&var=2
以下
http://www.mysite.com/somescript.php?lang=php&var=1&var=2
所以,基本上我只需要删除
&
前
lang=php
但是,顺序很重要。有时
&lang=php
出现在查询字符串中的其他变量之后。在这种情况下,我需要
&
保持
的一部分&lang=php
这可能吗?
总而言之,如果& lang = php出现在查询字符串的开头,请删除&amp ;.如果& lang = php出现在查询字符串中的任何其他位置,则&必须保持。
希望这很清楚!
我会自己更改脚本但不幸的是我不是开发人员,而且他现在似乎没有太大帮助;这是一个快速修复。
答案 0 :(得分:1)
为什么不匹配"?&"
并将其替换为"?"
?
类似的东西:
RewriteRule ^(.*)?&(.*) $1?$2 [L]
(未经测试)
因为我认为组合"?&"
永远不会有效......(?)
答案 1 :(得分:1)
我会将?&
替换为?
:
RewriteCond %{QUERY_STRING} ^\&(.*)$
RewriteRule ^somescript\.php$ /somescript.php?%1 [L,R=301]