【问题标题】:.htaccess help - 301 redirect URL's with special characters.htaccess 帮助 - 带有特殊字符的 301 重定向 URL
【发布时间】:2016-04-14 13:47:55
【问题描述】:

我在设置以下 301 重定向时遇到问题。

我正在尝试重定向:

https://www.example.com/blog/wp-includes/js/jquery/jquery.js?ver=1.11.3

到主页:

https://www.example.com/

这是我尝试过但不起作用的方法。

Redirect 301 "/blog/wp-includes/js/jquery/jquery.js\?ver\=1\.11\.3" "/"

【问题讨论】:

    标签: php linux .htaccess


    【解决方案1】:

    如本页所述https://simonecarletti.com/blog/2009/01/apache-query-string-redirects/

    很遗憾,RedirectRedirectMatch 都不允许您为重定向源指定查询字符串。

    所以你必须改用mod_rewrite,即改用这个:

    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/blog/wp-includes/js/jquery/jquery\.js$
    RewriteCond %{QUERY_STRING} ^ver=1\.11\.3$
    RewriteRule ^(.*)$ / [R=301,L]
    

    【讨论】:

      【解决方案2】:

      QueryString 不是 Redirect 指令中匹配的一部分,您需要使用 mod-rewrite 匹配 %{THE_REQUEST},尝试:

      RewriteEngine on
      
      RewriteCond %{THE_REQUEST} /blog/wp-includes/js/jquery/jquery\.js\?ver=1\.11\.3 [NC]
      RewriteRule ^ /? [L,R]
      

      如果要将查询字符串转发到主页,可以从目标路径中删除 ?

      【讨论】:

        猜你喜欢
        • 2018-05-12
        • 2019-01-05
        • 1970-01-01
        • 1970-01-01
        • 2016-01-28
        • 2016-04-13
        • 2011-07-25
        • 2018-06-26
        • 1970-01-01
        相关资源
        最近更新 更多