2012-11-22 51 views
2

我試圖找到一個執行以下操作的htaccess或PHP代碼。我就輸入這個出作爲僞代碼:重定向來自某些推薦人的傳入流量

IF(傳入通信源)= referrer.com,refer1.com,anotherrefer3.com和site4.com, REDIRECT_GOTO_THIS_PAGE =>http://www.mysite.com/specific-landing-page-for-those-people

I」我發現很多htaccess的重寫都接近這個,但到目前爲止沒有這樣做的具體事情。我希望能夠一次性找到照顧整個推薦人/收到網址的東西;謝謝。

UPDATE:

這一個看起來很有希望:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://(www\.)?partnerwebsite\.com 
RewriteRule ^$ /other_directory/specific_page.shtml [L] 

我將如何添加多個網址的出現在第2行?

噢。 .htaccess的。哇。

+0

你的意思是來自這些網站的所有請求將被寫入'/ other_directory/specific_page.shtml' – undone

回答

1

如果我明白你正確的計算方式如下,我會做它在PHP:

$refs = array("http://referer1.com","http://referer2.com"); 
    if (in_array($_SERVER['HTTP_REFERER'],$refs)) { 
     header("location: http://redirected_here.com"); 
    } 
+0

它給了我一個PHP錯誤:意外'{' – user1691389

+0

抱歉,一個支架丟失。現在試試。 – Tiit

1

這裏有一個工作就像一個魅力對我來說:

RewriteEngine On 
RewriteCond %{HTTP_REFERER} .*xxx.org.*$ [OR] 
RewriteCond %{HTTP_REFERER} .*yyy.org.*$ [OR] 
RewriteCond %{HTTP_REFERER} .*zzz.com.*$ [OR] 
RewriteCond %{HTTP_REFERER} .*aaa.net.*$ 
RewriteRule ^(.*)$ http://your_site/different_page/ 

它添加到您的.htaccess文件。如果您沒有.htaccess文件(通常用於從不同目錄加載的索引頁),只需創建一個空白文件並添加上面的文件即可。