Apache 404 Not Found用のmissing.htmlの表示が崩れる原因
- 2007.04.14
- Webマスター
ページが見つからなかったときに表示される404 Not Foundの表示が気に入らないときは、missing.htmlを作っておいておく。で、実験してみると表示が崩れるわ、リンクは外れているわ…。なんじゃこりゃと…。
■上手くいくケース
正しいページ:http://www.hoge.co.jp/hoge.html
ユーザが間違えてアクセス:http://www.hoge.co.jp/ho.html
ho.htmlがmissing.htmlに置き換わる。つまりこうなる。
http://www.hoge.co.jp/missing.html
■上手くいかないケース
正しいページ:http://www.hoge.co.jp/aaa/hoge.html
ユーザが間違えてアクセス:http://www.hoge.co.jp/aaa/ho.html
という状況だと、ho.html が、missing.html に置き換わる。つまりこうなる。
http://www.hoge.co.jp/aaa/missing.html
上手くいくケースでは、ちゃんと表示されていても aaa というディレクトリだとmissing.htmlがちゃんと表示されない。
■原因
missing.htmlのhtmlソースを見たら、../../hoge.gifとか相対パスを使っていたのでした。
missing.htmlの中で画像やURLリンクを表示する場合は、絶対パスを使う。ということでした。
リンク外れを起こしてしまう。また、cssなどスタイルシートやJavaScriptなどを参照している場合は表示が崩れてしまうんですなぁ。
missing.htmlは絶対パスで作ること。
■そもそもmissing.htmlを有効にするには
Apacheのhttpd.conf
ErrorDocument 404 /missing.html
を記述して、Apacheを再起動すれば、missing.htmlが有効になる。
-
前の記事
CGIが動かない 2007.03.30
-
次の記事
SolarisのHDD情報 2007.04.23