次のコードがあります。
<?php
if($_SERVER['REQUEST_URI'] == 'http://example.com/knowthecode')
{
header("Location: http://example.org/knowthecode"); exit;
}
これは期待どおりに機能しません。手伝ってくれますか ?
次のコードがあります。
<?php
if($_SERVER['REQUEST_URI'] == 'http://example.com/knowthecode')
{
header("Location: http://example.org/knowthecode"); exit;
}
これは期待どおりに機能しません。手伝ってくれますか ?
の値は$_SERVER['REQUEST_URI']
、URL全体を保持するわけではありません(コメントで示唆されているように)。
$_SERVER
最終的に必要なものを保持する可能性のある他の要素がありますが、のような関数を使用してparse_url()
から、それらを比較する方がよいでしょう。
サイトの$_SERVER["REQUEST_URI"]
ホストは含まれていません-http://www.mysite.com/page.php?key=valueのようなページの場合は`/page.php?key=value"になります$_SERVER["REQUEST_URI"]
$_SERVER["HTTP_HOST"]
ホストでも検索するためにを見てみてください。
そして、良いアプローチは次を追加することです:
echo "<pre>";
var_dump($_SERVER);
echo "</pre>";
die();
これは、サーバー変数とは何か、およびそれらが何を意味するのかを理解するのに役立ちます
http://php.net/manual/en/reserved.variables.server.phpをご覧ください
REQUEST_URIは、サーバー(ドメイン)に送信されるリクエストです。
たとえば、http://www.domain.com/index.phpでは、REQUEST_URIは/index.phpです。
あなたができることはこれです:
if($_SERVER['REQUEST_URI'] == '/index.php')
{
header("Location: http://www.google.com");
exit;
}