【问题标题】:Remove query string from redirected URL with htaccess使用 htaccess 从重定向的 URL 中删除查询字符串
【发布时间】:2012-01-21 20:35:57
【问题描述】:

我正在使用以下代码将流量重定向到特定页面(此流量通过 google 来自曾经使用我的服务器 ip 的旧站点)

RewriteRule ^viewtopic.php?/?$ http://www.myurl.org.uk/ [L,R=301]

据我了解,^viewtopic.php?/?$ 应该去掉查询字符串,但它不起作用。任何帮助表示赞赏。

示例网址

http://www.myurl.org.uk/viewtopic.php?f=3&t=44207&start=2265

重定向时的输出

http://www.myurl.org.uk/?f=3&t=44207&start=2265

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    您已经接近答案了...您将? 放在了错误的一边。将其放在重定向端以剥离查询字符串:

    RewriteRule ^viewtopic.php http://www.myurl.org.uk/? [L,R=301]
    

    在 301 重定向中,mod_rewrite 通常会附加完整的查询字符串。但是在重写 URL 的末尾放置一个 ? 而没有相应的 [QSA] ("querystring append") 标志将指示它使用您提供的空白查询字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-16
      • 2014-11-11
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      相关资源
      最近更新 更多