代码之家  ›  专栏  ›  技术社区  ›  Laurent

Htaccess仅重定向一个带有查询字符串的URL

  •  1
  • Laurent  · 技术社区  · 6 年前

    我只需要重定向此URL https://www.mywebsite.com/?lang=en https://www.mywebsite.com/en/

    我尝试了一下,但没有成功

    RewriteCond %{REQUEST_URI} https://www.mywebsite.com/  
    RewriteCond %{QUERY_STRING} lang=en
    RewriteRule ^(.*)$ https://www.mywebsite.com/en/ [R=301,L]
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Amit Verma    6 年前

    你需要打个空问号 ? 在规则目标的末尾,从新url中丢弃旧查询字符串。

    重定向 /?lang=en /en/ 您可以使用以下规则:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} lang=en
    RewriteRule ^$ https://www.mywebsite.com/en/? [R=301,L]
    

    否则,您的新url将类似于 /en/?lang=en

    测试之前,请清除浏览器缓存。