【问题标题】:How to redirect URL and remove the query string如何重定向 URL 并删除查询字符串
【发布时间】:2018-08-01 00:23:34
【问题描述】:

我有这个网址:

https://www.example.co.uk/about-us.html?7ec4b46ae6eaa4c756b968f5d2ef3c91=393a66ccb81d9b440d6b104f793224a8

我想将其重定向到:

https://www.example.co.uk/about-us/

到目前为止,我能得到的最好结果就是能够重定向到 /about-us/,但它也会将查询字符串附加到末尾。如何重定向此 URL 并删除查询字符串?

到目前为止我已经尝试过:

Redirect 301 /about-us.html?7ec4b46ae6eaa4c756b968f5d2ef3c91=393a66ccb81d9b440d6b104f793224a8 https://www.example.co.uk/about-us/

RewriteCond %{REQUEST_URI} ^/about-us.html$ [NC]
RewriteRule ^(.*)$ about-us? [R=301,L]

非常感谢。

【问题讨论】:

    标签: apache .htaccess redirect url-rewriting http-status-code-301


    【解决方案1】:

    试试:

    RewriteEngine on
    
    
    RewriteCond %{THE_REQUEST} /about-us\.html\?7ec4b46ae6eaa4c756b968f5d2ef3c91=393a66ccb81d9b440d6b104f793224a8 [NC]
    RewriteRule ^.*$ http://exmaple.com/about-us? [L,R]
    

    规则目标末尾的? 很重要,因为它会丢弃新网址中的旧查询字符串,否则如果您删除问号,您的新网址将类似于:

    https://www.example.co.uk/about-us?7ec4b46ae6eaa4c756b968f5d2ef3c91=393a66ccb81d9b440d6b104f793224a8
    

    在测试此规则之前清除浏览器缓存。

    【讨论】:

    • 感谢您,但不幸的是,这并没有解决问题。该页面根本没有重定向。还尝试在其他浏览器中确保这不是浏览器缓存问题。
    • @Graham 当您在浏览器中输入网址时会发生什么?你得到什么错误?
    • 没有错误,只是 URL 没有重定向,而是转到了旧页面。 (这是一个 404)
    • 您确定您的服务器上启用了mod-rewrite 吗?
    • 我做了 phpinfo() 来检查,看不到任何启用它的迹象,但是该站点是一个运行良好的 Wordpress 站点。不确定这是否有帮助?如果未启用 mod-rewrite,有没有办法解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多