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

.htaccess Htaccess仅重定向一个带有查询字符串的URL,.htaccess,redirect,mod-rewrite,.htaccess,Redirect,Mod Rewrite,我只需要将此URL重定向到 我试着这样做,但没有成功 RewriteCond %{REQUEST_URI} https://www.mywebsite.com/ RewriteCond %{QUERY_STRING} lang=en RewriteRule ^(.*)$ https://www.mywebsite.com/en/ [R=301,L] 您需要在规则目标的末尾添加一个空问号?,以从新url中丢弃旧的查询字符串 要将lang=en重定向到/en/,可以使用以下规则: Rewrit

我只需要将此URL重定向到

我试着这样做,但没有成功

RewriteCond %{REQUEST_URI} https://www.mywebsite.com/  
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^(.*)$ https://www.mywebsite.com/en/ [R=301,L]

您需要在规则目标的末尾添加一个空问号
,以从新url中丢弃旧的查询字符串

要将lang=en重定向到
/en/
,可以使用以下规则:

RewriteEngine on
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^$ https://www.mywebsite.com/en/? [R=301,L]
否则,您的新url将类似于
/en/?lang=en


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

谢谢您的工作,是否有一种通用方法可以自动重定向到?@Laurent您可以使用:
RewriteCond%{QUERY\u STRING}lang=en RewriteRule^.$https://www.mywebsite.com/en%{REQUEST_URI}?[R=301,L]
是的,它可以正常工作,如果我在旧url中有.html来删除它,那就很抱歉了