2012-08-10 45 views
0

我一直在尋找和測試3小時,沒有運氣。希望你能幫助我。「如果」 - 「其他」在國防部重寫

這裏是我的代碼:

AddHandler php-legacy .php 

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://www\.google\.com [NC] 
RewriteRule http://www.domain1.com [R=301,L] 
</IfModule> 

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^$ http://www.domain2.com/ [R=301,L] 
RewriteCond %{HTTP_HOST} .* 
RewriteRule ^(.+)$ http://$1.domain2.com/ [R=301,L] 
</IfModule> 

第二mod_rewrite的作品,並已經工作了幾個月,但現在我想先檢查,看看是否有人從谷歌訪問。如果是這樣,我想推他們到一個不同的領域。但(第一)引用者部分沒有。我如何檢查引用者並在「執行第二部分之前」執行此操作?

第二個問題。我不認爲你可以了,但是有什麼方法可以判斷是否有人來自Google Adwords鏈接或有機搜索鏈接?我認爲谷歌已經使這不可能。

回答

1

您的RewriteRule中出現錯誤,看起來您缺少正則表達式匹配。

RewriteRule http://www.domain1.com [R=301,L] 

將會使阿帕奇認爲:

  • 如果URI是http://www.domain1.com
  • 它重寫[R=301,L]

你可能想這樣的:

RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L] 
+0

謝謝爲了 快速回復。試過你的代碼,沒有運氣。沒有錯誤,它只是忽略推薦人。 – 2012-08-10 01:32:07