Apache 重写包含和不包含跟踪字符串的URL的规则

Apache 重写包含和不包含跟踪字符串的URL的规则,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我目前正在重定向 info.myurl.com/should-you-be-worried-about-apples 到 它与此配合使用很好 我的问题是,你应该担心苹果也出现在网站的多个地方与跟踪脚本附加到最后 should-you-be-worried-about-apples?__hssc=&__hstc&hsCtaTracking=5a72d77e-2f14-4a70-bd75-47caf53582ac%7C849ebee6-7301-4822-9548-90eb9d5b

我目前正在重定向

info.myurl.com/should-you-be-worried-about-apples

它与此配合使用很好

我的问题是,你应该担心苹果也出现在网站的多个地方与跟踪脚本附加到最后

should-you-be-worried-about-apples?__hssc=&__hstc&hsCtaTracking=5a72d77e-2f14-4a70-bd75-47caf53582ac%7C849ebee6-7301-4822-9548-90eb9d5bf769
我可以看到它有一个变量“hssc”。这是所有跟踪脚本的共同点。我试着重写它

但这是行不通的


如何编写此文件,以便它捕获标准url以及任何附加了跟踪功能的url?

您可以只允许查询字符串通过:

RewriteCond %{HTTP_HOST}  ^info\.myurl\.com$ [NC]
RewriteRule ^should-you-be-worried-about-apples/$ http://www.myurl.com/landing-page/ [R=301,NE,NC,L]
但如果这是一个特定参数的问题:

RewriteCond %{HTTP_HOST}  ^info\.myurl\.com$ [NC]
RewriteCond %{QUERY_STRING}  (^$|__hssc=)
RewriteRule ^should-you-be-worried-about-apples/$ http://www.myurl.com/landing-page/ [R=301,NE,NC,L]

嗨,乔恩,两种选择都很有效。非常感谢。但现在我发现,有时我的url上有一个/而有时没有…例如,有时是apples/。有时是apples?\u hssc…有时只是apples。因此,对于第一种选择,苹果不会被重定向。我怎么知道你应该担心有或没有反斜杠以及要重定向的跟踪变量的苹果?我有…^你应该担心苹果/?$反斜杠、问号、dollarsign。谢谢
RewriteCond %{QUERY_STRING} ^(.*&|)hssc=
RewriteCond %{HTTP_HOST}  ^info\.myurl\.com$ [NC]
RewriteRule ^should-you-be-worried-about-apples/$ http://www.myurl.com/landing-page/ [R=301,NE,NC,L]
RewriteCond %{HTTP_HOST}  ^info\.myurl\.com$ [NC]
RewriteCond %{QUERY_STRING}  (^$|__hssc=)
RewriteRule ^should-you-be-worried-about-apples/$ http://www.myurl.com/landing-page/ [R=301,NE,NC,L]