[PHP]header('Location:');でハマった

小ネタなのだけど結構ハマったのでメモ。

PHPにはheader関数というものがあり、HTTPヘッダーを送信できる。header関数の用法として最も多いのは、Locationヘッダーによるリダイレクトだと思う。
例:

これが実行されると、Locationヘッダーが送信され、ブラウザーがヘッダーを受け取って「http://www.example.com/」にアクセスする。

一般に、HTTPヘッダーの各行は、「名称・コロンによる区切り・値」という構造をもっている。ここで注意が必要なのは、名称とコロンによる区切りの間に空白を入れてはいけないということ(コロンと値の間はOK)。

具体的には、こういうこと。

Location:http://www.example.com/    # OK
Location: http://www.example.com/   # OK
Location : http://www.example.com/  # NG
Location  :http://www.example.com/  # NG

コメントを残す