0

「example.com/123」などの特定の参照 URL からのみサイトへのトラフィックを許可したいと考えています。特定の遅延、たとえば 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>

したがって、リファラーからのものでない場合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 に答える