.htaccess使用参数重定向URL

ukdjmx9f  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(162)

我已经搜索过了,但是没有找到我需要的。基本上任何一个在结尾有?,后面有更多字符的url都应该被重定向到另一个url,同样的路径不包括语言。一个例子会让它更清楚。
如果用户登录到https://example.com/fr/contact-us/?utm_medium=email
应将它们重定向到https://example.com/contact-us/?utm_medium=email
并且对于在最后一个/之后具有?的任何URL
不幸的是,我不知道那么多关于重定向,所以我没有一个伟大的尝试在这里。

RewriteCond %{QUERY_STRING} ^utm_medium=\d+$
RewriteRule ..... [R=301]
yeotifhr

yeotifhr1#

基本上,任何在结尾处带有?,后面跟着更多字符的URL都应该被重定向到另一个URL,尽管不包括语言的相同路径。
您可以使用此重定向规则:

RewriteCond %{QUERY_STRING} .
RewriteRule ^[a-z]{2}/(.*) /$1 [L,NE,R=301]

在这里:

  • %{QUERY_STRING} .确保存在非空查询字符串
  • [a-z]{2}/匹配任何2个字母的语言代码,后跟/
  • 查询字串会自动复制到目的URL。

相关问题