将所有流量从外部域重定向到本地域主页?

时间:2013-06-14 16:03:08

标签: apache .htaccess http seo http-referer

有一个外部网站将其所有流量重定向到我们网站上的网页。我们无法控制此重定向,并且内容URL以下列方式进行镜像。

当用户访问:

www.externaldomain.com/1234 

他们被重定向到:

www.ourdomain.com/1234 

有时可能是一个不存在的页面,因此会产生404错误。如何重定向从externaldomain.comourdomain.com主页的所有流量,以确保我们不会失去潜在用户?

我知道HTTP_REFERER正在发挥作用,但我无法将其设置为正常运行。

2 个答案:

答案 0 :(得分:0)

请参阅this answer

你必须使用apache的modrewrite:

  

RewriteEngine On

     

RewriteCond%{HTTP_REFERER}!^ mydomain.co.uk $ [N]

答案 1 :(得分:0)

这里要问的最重要的问题是,您是希望将所有流量重定向到您的主页还是您提到的“有时”不存在的特定页面(404) - 这两个都在此处得到解答。

将所有引荐的流量从特定外部域重定向到主页

如果您需要重定向来自特定域(引荐来源)的所有流量,您可以执行以下操作:

 RewriteEngine On 
 RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC]
 RewriteRule ^(.*) /index.php [R=301,L] 


仅将404错误流量重定向到来自特定域的主页

如果您想在此基础上重定向,请使用:

 RewriteEngine On 
 RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*) /index.php [R=301,L] 


关于上面提到的apache标志:

 [NC]    = No case (or case insensitive)
 [L]     = If the rule matches, no further rules will be processed.
 [R=301] = Apply a 301 redirect*

您可以在Apache标志here上找到更详细/详细的信息。


*针对这些规则的搜索引擎优化

为什么301重定向? - 301重定向是永久重定向,它将超过90%以上的链接汁(或潜在的排名能力)传递到重定向页面。 301指的是此类重定向的HTTP状态代码。在大多数情况下,301重定向是在SEO方面在网站上实现重定向的最佳方法。就收益而言,有关如何利用和处理不同类型的重定向的大量信息here