2014-06-25 91 views
1

我有多个重定向到我的主域的辅助域。如何使用htaccess将引用链接重定向回索引

例子。这将被写进www.secondarydomain1.com的htaccess的:

RewriteEngine On 
RewriteRule ^(.*)$ http://primarydomain.com/?utm_source=redirect&utm_medium=secondarydomain1.com&utm_campaign=301redirect$1 [R=301,L] 

我怎么能写www.primarydomain.com的htaccess的,这样我可以匹配的条件:如果URL是

http://primarydomain.com/?utm_source=redirect&utm_medium=secondarydomain1.com&utm_campaign=301redirecthttp://primarydomain.com/?utm_source=redirect&utm_medium=secondarydomain2.com&utm_campaign=301redirect等, 重定向回到primarydomain.com?

回答

1

把你DOCUMENT_ROOT/.htaccess文件验证码:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www\.)?primarydomain\.com$ [NC] 
RewriteCond %{QUERY_STRING} ^utm_source=redirect&utm_medium=((secondarydomain1|secondarydomain2)\.com|secondarydomain3\.me)&utm_campaign=301redirect$ [NC] 
RewriteRule^/? [L,R=302] 
+0

谢谢,这似乎工作。我可以问为什么它应该是临时重定向(302)而不是301? – ArrayOutOfBounds

+0

如果辅助域名上的顶级域名(TLD)不同,又该如何编写?例如。 secondarydomain1.com,secondarydomain2.com和secondarydomain3.me – ArrayOutOfBounds

+0

否302不是强制性的。你应该在测试时使用'R = 302',之后将它改为'R = 301',因为浏览器会积极地缓存'301' URLs,从而在你的测试中造成问题。检查编辑'secondarydomain3.me' – anubhava

相关问题