携帯向けページの作成したときに、404ページを独自に表示させようと思って対象のディレクティブに
ErrorDocument 404 /hoge.php
などと表記したのだけど、auだけは上手く動いてくれなかった。DoCoMoとSoftbankはちゃんと表示された。
どうやら au は 404 を返されたらページを表示せずに「ページが見つかりません」という旨のメッセージのみを出す仕様のようだ。これを行ってるのが端末毎なのかau共通の仕様なのかはしらないが、自分で指定したページが表示されないのは不満である。
これを回避するに以下の2通りを考えた。
1) ドキュメントの指定にURLを書く
これを行うと指定された URL へ 302 でリダイレクトする様になる。
ErrorDocument 404 http://example.com/hoge.php
2) 対象のスクリプトのヘッダーに200を明示的に表示
たとえばPHPでは以下のように書く。
$ cat hoge.php
<?php
header('HTTP/1.1 200 OK');
ページ無いのに200返していいんだろうか?と思うのだが、事情により(1)が使えなかった為(2)で対処した。
Sponsored Link