web-dev-qa-db-ja.com

ヘッダーの場所の相対パスの互換性

これは相対位置 htmlヘッダーはすべてのプラットフォームのすべてのブラウザーと完全に互換性がありますか?標準はありますか?

Location: some_script.php?la=2&po=2030

つまり、常に現在のディレクトリでsome_script.phpにリダイレクトされるのか、そうでないのか。

25
abrahab

標準は次のようになります。

header('Location: http://www.mywebsite.com/yourpage.php?id=32', TRUE, 302);

しかし、あなたの質問に答えるために、はい、最初または完全なURLにスラッシュを入れない場合、現在のフォルダーのページXにリダイレクトします。

これは、あなたが行うすべてのウェブサイトに対して行うことをお勧めするアイデアです。プライマリファイル(configなどのように使用するメインphpファイル)で、次のようなものを作成します。

define('URL', 'http://www.mywebsite.com/');

したがって、リダイレクト、リンクなどを作成するときは、次のようにします。

header('Location: '.URL.'yourpage.php?id=32', TRUE, 302);

編集:2017年11月。以下の@jordanbtuckerが指摘するように、HTTP仕様は2014年6月に更新され(この投稿は2012年から)、Locationヘッダーで相対URIを許可します。

21
David Bélanger