我希望匹配某些查询参数,并重定向到某个新网址,但不会丢失所有其他查询参数(例如utm等)
例如,如果请求是
home.com/request?a=1&utm=stuff
我想重定向到
home/com/target?utm=stuff
不是
home/com/target?&utm=stuff
我知道$ 1 $ 2等参考重写规则的组, %1%2表示查询字符串的组。
以下
RewriteCond %{REQUEST_URI} ^request$
Rewritecond %{QUERY_STRING} ^(.)a=1(.*)$
RewriteRule .* /?%1%2 [L,R=302]
减去a=1
,但不处理&巧妙。
答案 0 :(得分:1)
您可以使用此重定向规则:
RewriteCond %{QUERY_STRING} ^(.*&)?a=1(?:&(.*))?$ [NC]
RewriteRule ^request/?$ /target?%1%2 [L,NE,R=302]