可以在PHP中执行条件301吗?

时间:2013-03-08 22:33:05

标签: php redirect conditional-statements

我实际上不确定从哪开始。

基本上我在搜索引擎优化中有一个伙伴,他的一个客户网站已被某个网站托管服务复制,并且尽管关闭了副本,但没有删除。有问题的预览网站的PR高于实际的客户端网站,因此搜索引擎优化会被完全破坏。

我们设法克服这种情况的唯一控制是文件(但不是.htaccess)从客户端的服务器传播。基本上,这是一个令人毛骨悚然的噩梦。

我建议做的是在PHP头文件中设置条件重定向,这样如果浏览器/引擎点击预览站点,它将301到客户端站点。但是,如果浏览器/引擎正在访问正确的站点,我们就无需执行任何操作。

虽然我可以通过试用和&错误,这有点时间敏感,因为有问题的客户有一个直接进入哈迪斯的SEO活动。

我希望有人知道如何格式化条件重定向。

我们称之为两个域:

previewdomain.com domain.com

如此宽松地说......

if current url == previewdomain.com then 301 redirect to domain.com
else do nothing

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

这样做:

if( stripos($_SERVER['HTTP_HOST'],"previewdomain.com") !== false) {
    header("Location: http://domain.com".$_SERVER['REQUEST_URI'],true,301);
    exit;
}

答案 1 :(得分:2)

<?php
if(strpos($_SERVER['HTTP_HOST'], 'previewdomain.com') !== FALSE) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.domain.com"); 
}