htaccess使用Google跟踪代码重写网址

时间:2012-07-10 15:43:00

标签: .htaccess redirect url-rewriting

首先,对不起我的英语......我希望你能理解我的问题:)

我公司制作了一个电子邮件广告系列,其中包含指向我们网站的链接。此网址包含跟踪广告系列的Google跟踪代码。

不幸的是,网址错误:

http://www.mysite.fr/category/mypage.html/?utm_source=source&utm_medium=medium&utm_campaign=campaign

但是“mypage.html”和跟踪代码之间存在斜线,指向不合适的页面。

我尝试使用这些规则来重定向网址,而不向所有人发送新电子邮件,但它们不起作用:

RewriteRule ^/category/mypage\.html/\?utm_source\=source\&utm_medium\=medium\&utm_capaign\=campaign$ http://www.mysite.fr/category/mypage.html?utm_source=source&utm_medium=medium&utm_campaign=campaign [R=301,L]

或者:

RedirectPermanent /category/mypage.html/ http://www.mysite.fr/category/mypage.html?utm_source=source&utm_medium=medium&utm_campaign=campaign

我不知道如何编写规则。有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您的RewriteRule出了点问题。如果您将其放在.htaccess文件中,则需要删除正则表达式中的前导斜杠(前缀),因为apache会在将其放入.htaccess文件中的规则之前将其从URI中删除。其次,您无法匹配RewriteRule中正则表达式中的查询字符串(从开始的东西)。

不确定为什么RedirectPermanent无效。除了查询字符串如果将其遗漏后自动附加的事实,这看起来很好。我认为这就是你想要的,所以删除目标中的查询字符串:

RedirectMatch 301 ^/category/mypage.html/$ http://www.mysite.fr/category/mypage.html