0

我想只允许来自某个引用 URL(例如“example.com/123”)的流量访问我的网站。我希望在特定延迟(例如 1 或 2 分钟)后将其余流量重定向到相同的引用 URL。我希望不再引用来自 example.com/123 的流量。

我想过使用这样的东西,但我不知道如何编辑以满足我的要求:

<?php
$referrer = $_SERVER['HTTP_REFERER'];
if (preg_match("/site1.com/",$referrer)) {
      header('Location: http://www.customercare.com/page-site1.html');
} elseif (preg_match("/site2.com/",$referrer)) {
      header('Location: http://www.customercare.com/page-site2.html');
} else {
      header('Location: http://www.customercare.com/home-page.html');
};
?>
4

1 回答 1

0

你需要在你的 php 脚本中有一些影响页面标题的东西,而不是实际服务器响应的标题。

因此,在生成页面标题的脚本部分中,您需要以下内容:

<!-- this is the header of your page -->
<head>
  <title>Your Title</title>
  <?php
    $referrer = $_SERVER['HTTP_REFERER'];

    // if referer isn't from example.com/123 we setup a redirect
    if ( !strstr($referrer, '://example.com/123') )
       print ('<META HTTP-EQUIV=Refresh CONTENT="60; URL=http://example.com/123">\n');

    ?>
  <!-- maybe some other stuff -->
</head>

因此,如果引用者不是from http://example.com/123,则此行将插入到标题中:

<META HTTP-EQUIV=Refresh CONTENT="60; URL=http://example.com/123">

http://example.com/123它告诉浏览器在 60 秒后重定向到 URL(在这种情况下)。

于 2013-10-07T16:37:42.390 回答