1

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

我的公司开展了一项电子邮件活动,其中包括指向我们网站的链接。此 URL 有一个 Google 跟踪代码来跟踪该广告系列。

不幸的是,网址是错误的:

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

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

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

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

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

4

1 回答 1

0

您的RewriteRule. 如果您将其放入 .htaccess 文件中,则需要删除正则表达式中的前导斜杠(前缀),因为 apache 在将其放入 .htaccess 文件中的规则之前会将其从 URI 中删除。其次,您无法匹配a 中正则表达式中的查询字符串(以?RewriteRule开头的内容) 。

不知道你为什么RedirectPermanent不工作。这看起来很好,除了如果您将查询字符串排除在外,它们会自动附加。我认为这就是你想要的,所以删除目标中的查询字符串:

RedirectMatch 301 ^/category/mypage.html/$ http://www.mysite.fr/category/mypage.html
于 2012-07-10T16:47:26.470 回答