从查询字符串中删除第二个问号

时间:2015-04-18 15:14:50

标签: .htaccess mod-rewrite query-string

我在创建链接时犯了一个错误。我纠正了它,但现在仍然有漂浮的链接可能看起来像这样:

http://www.domain.com/?page=1?date=29062015&id=778

我想使用rewriteEngine将用户重定向到:

来更正此问题

http://www.domain.com/?page=1&date=29062015&id=778

我四处搜索并尝试以下操作,但它不起作用:

 RewriteEngine On
 RewriteCond %{QUERY_STRING} ^(.*)\?(.*)$
 RewriteRule ^\/ ^\/$1\&$2 [L,R=301]

我应该在这里改变什么?

1 个答案:

答案 0 :(得分:1)

我稍微纠正了你的规则,希望它有助于解决问题:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)\?(.*)$
RewriteRule (.*) $1?%1&%2 [L,R=301]

请注意,%1和%2是对前一个RewriteCond(查询字符串条件)中正则表达式的匹配部分的反向引用。

关于在此处重写查询字符串的好文章:https://wiki.apache.org/httpd/RewriteQueryString

相关问题