2012-11-22 37 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文件(通常用于从不同目录加载的索引页),只需创建一个空白文件并添加上面的文件即可。