301永久重定向

时间:2012-03-06 16:05:56

标签: php redirect http-status-code-301

一个网站使用“301永久重定向”到我的网站有没有办法我可以设置代码来检测这个并在我的网站通过这个访问时显示一个页面?

有没有人对此有任何想法?

3 个答案:

答案 0 :(得分:1)

你只能得到一个推荐人。我认为您将无法在上次请求期间获取客户端获取的服务器上的http状态代码。

所以我的答案是否定的,你无法在服务器上获得301状态代码。

但你可以用referer变量做一些必要的魔法。

e.g。在PHP中你可以读到这个:

$_SERVER['HTTP_REFERER'];

答案 1 :(得分:0)

你无能为力。如果您正在执行301,则可以将引用者设置为查询字符串。但既然你没有,你只能抓住请求给你的东西。

答案 2 :(得分:0)

您可以尝试使用PHP的$_SERVER['HTTP_REFERER']跟踪访问者来自的来源网址。我认为它有点狡猾但可能不会在所有浏览器中产生相同的结果。即使PHP's documentation说'它真的不可信任'。

为什么必须使用.htaccess进行重定向?你可以这样做:

网站A的index.php:

header("Location: http://siteb.com/?ref=".urlencode('http://sitea.com');

网站B的index.php:

if(isset($_GET['ref']))
{
   if($_GET['ref']=='http://sitea.com')
   {
      // Do something
   }
}

修改

如果您无法编辑网站A的代码或服务器设置,请尝试使用:

if($_SERVER['HTTP_REFERER']=='http://sitea.com')
{
   // Do something
}