ウェブサイトが「301パーマネントリダイレクト」を使用していましたが、これを検出するコードを設定して、ウェブサイトにアクセスしたときにページを表示する方法がありますか?301恒久リダイレクト
誰もがこれについて考えていますか?
ウェブサイトが「301パーマネントリダイレクト」を使用していましたが、これを検出するコードを設定して、ウェブサイトにアクセスしたときにページを表示する方法がありますか?301恒久リダイレクト
誰もがこれについて考えていますか?
リファラーのみを取得できます。最後のリクエスト中にクライアントが取得するサーバー上でhttpステータスコードを取得できないと思います。
私の答えは「いいえ」です。サーバー上に301のステータスコードを取得することはできません。
しかし、あなたはreferer変数で少し魔法を使うことができます。
PHPでこれを読むことができます:
$_SERVER['HTTP_REFERER'];
あまりできません。あなたが301をやっていたなら、あなたは照会者を照会の文字列に設定することができます。しかし、あなたがいないので、あなたは要求があなたに与えたものをつかむことができます。
PHPの$_SERVER['HTTP_REFERER']
を使用して、訪問者の出所からのソースURLをトラッキングできます。私はそれが少しばかげていると思うし、すべてのブラウザで同じ結果をもたらさないかもしれない。 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
}
サーバー側の言語は何ですか? – ManseUK
いいえ、お客様のサイトでは、クライアントブラウザから「GET」リクエストが送信されます。 301リダイレクトは、他のサイトとクライアントブラウザの間で直接行われ、自分のサイトには表示されません。 –
301リダイレクト用の特定のページを表示したいのであれば、なぜそのページに301リダイレクトを向けるのではないでしょうか? – JaredPar