【问题标题】:Stop .htaccess redirect with query string使用查询字符串停止 .htaccess 重定向
【发布时间】:2016-07-07 15:25:13
【问题描述】:

我的站点使用 .htacess 文件将根域名重定向到另一个 URL。当前重定向如下所示:

RewriteEngine on RewriteRule ^$ http://example2.com/ [R=301,L]

我只希望根域被重定向(example1.com 到 example2.com),所以上述工作正常。但是,如果在旧 URL 中使用查询字符串。例如

http://example1.com/?pages=3

重定向仍然有效,这是我不想要的。我只是在使用查询字符串时遇到重定向问题,其他都可以:

http://example1.com/ - 是否重定向 ✓

http://example1.com/home - 不重定向 ✓

http://example1.com/?page=3 - 是否重定向 X - 不需要重定向

谁能帮忙?

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    你可以放一个 ?在目的地的末尾丢弃旧的查询字符串:

    RewriteEngine on
    RewriteRule ^$ http://example2.com/? [R=301,L]
    

    如果您不想在请求包含查询字符串时重定向,您可以使用:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^$ http://example2.com/ [R=301,L]
    

    【讨论】:

    • Drat,你先发了RewriteCond %{QUERY_STRING} ^$。我想出了完全相同的条件。
    • 感谢两位的帮助!我使用了第二个选项并且效果很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    相关资源
    最近更新 更多