【问题标题】:Apache HTAccess Remove Query String for redirectApache HTAccess 删除查询字符串以进行重定向
【发布时间】:2016-02-05 10:36:16
【问题描述】:

这听起来像一个相对简单的,但在这里.. 我有一个名为 example.com 的 wordpress 网站它最近使用 wordpress 重新开发,但是旧网站结构使用以下 www.example.com/?page_id=22 我想要将包含 /?page_id=[any digit] 的域名之后的任何内容重定向到主页,我很难做到这一点,我也认为我可能有问题,因为 wordpress 本身在永久链接重定向之前使用查询字符串 page_id 踢在,虽然我可能是错的,但是在域名之后直接删除查询字符串的任何帮助都会很棒,特别是记住它是一个 wordpress 安装。

我尝试了各种迭代,如下所示,但无济于事

        RewriteCond %{QUERY_STRING}  ^page_id=(.*)$ 
        RewriteRule (.*) http://www.example.com/  [R=301,L]

        RedirectMatch 301 ^/page_id=(.*)$ /

【问题讨论】:

    标签: wordpress apache .htaccess mod-rewrite redirect


    【解决方案1】:

    试试这条规则就在顶部,就在RewriteEngine On 行的下方:

    RewriteCond %{QUERY_STRING} ^page_id=\d+$ [NC]
    RewriteRule ^/?$ /? [R=301,L]
    

    /? 将删除任何查询字符串。

    【讨论】:

    • 我们如何传递特定的页面ID?
    • @anubhava : 这个不工作请给更好的主意
    • RewriteCond %{QUERY_STRING} ^page_id=([199])+$ [NC] @anubhava 这个工作,但是这个对吗?
    • 应该是:RewriteCond %{QUERY_STRING} ^page_id=199$ [NC],如果不起作用,请随时提出新问题
    猜你喜欢
    • 1970-01-01
    • 2012-09-30
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 2014-11-11
    • 2019-08-09
    • 1970-01-01
    相关资源
    最近更新 更多