我想从任何URL中删除特定的查询字符串,而其他查询字符串完好无损,并考虑到第一个与后续字符串(?与&)。我只希望删除以下URL参数:
外部活动
重要的是要考虑以下事实:这些URL参数可能存在于URL中的任何位置,因此可能需要将其余参数翻转为“?”。从 ”&”。
这里有一些例子:
Original: www.domain.com/page.html?campaign=123
Modified: www.domain.com/page.html
Orig: www.domain.com/page2.html?campaign=123&flow=shop
Mod: www.domain.com/page2.html?flow=shop
Orig: www.domain.com/page6.html?flow=account&campaign=123&entry=1&external=google
Mod: www.domain.com/page6.html?flow=shop&entry=1
您可以在DOCUMENT_ROOT/.htaccess
文件中使用以下代码:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(?:(.+?)&)?(?:external|campaign)=[^&]*$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(?:external|campaign)=[^&]*(?:&(.*))?$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1 [L,NE,NC,R=302]
RewriteCond %{QUERY_STRING} ^(?:(.+?)&)?(?:external|campaign)=[^&]*(&.*)?$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1%2 [L,NE,NC,R=302]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句