2014-06-25 90 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

相關問題