【问题标题】:remove second question mark from query string从查询字符串中删除第二个问号
【发布时间】:2015-06-25 11:34:07
【问题描述】:

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

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]

我应该在这里改变什么?

【问题讨论】:

    标签: .htaccess mod-rewrite query-string


    【解决方案1】:

    我已经稍微更正了您的规则,希望它有助于解决问题:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 2021-11-02
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多