• ベストアンサー

自作のエラーメッセージ作成について

404エラーに対して自作のエラーメッセージを表示させたいのですがうまくいきません。 エラーメッセージ自体はerrフォルダに404.htmlという名称で作成しています。 具体的には、.htaccess内の記述 「ErrorDocument 404 http://アドレス/err/404.html」 このように絶対パスで記述すると、存在しないページのURLに飛んだ時自作メッセージが表示されるのですが、 「ErrorDocument 404 /err/404.html」というように相対パスで表記すると表示できません。 出来れば相対パスで記述して表示できるようにしたいのですが、どうしたら良いのでしょうか? ちなみに.htaccess及びerrフォルダはindex.htmlと同列に置いています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Nii
  • ベストアンサー率48% (79/162)
回答No.1

自作エラーメッセージは、表示させるページをURLもしくは絶対パスで指定するのどちらかと。 URLで指定 http://アドレス/err/404.html (ブラウザのアドレス欄に表示されるURLはhttp://アドレス/err/404.html) 絶対パスで指定 /DocumentRoot/err/404.html (ブラウザのアドレス欄に表示されるURLは元のURLがそのまま表示)

noname#59749
質問者

お礼

お礼が遅くなり申し訳ありません! 回答ありがとうございました。

その他の回答 (3)

回答No.4

ErrorDocument 404 /err/404.html とやれば出来そうだけど…。 .htaccessの最後の行に改行は入っていますか? 改行してないとダメです。 パーミッションはあってますか? あと、404エラーページに限り、エラーページのサイズが小さすぎますと、表示されない場合があります。 ページの容量が1Kバイトを超えるように作成してみてください。

noname#59749
質問者

お礼

お礼が遅くなり申し訳ありません! 回答ありがとうございました。

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.3

/(先頭に「.」が付いていない)から始まるのは、相対パスではなくて、絶対パスです ホスト名を省略するのであれば、ルートディレクトリから記述しなくてはなりません たとえば /usr/local/apache/htdocs/err/404.html などのように記述してください (上記はあくまでも例ですので、あなたの環境に合わせてください)

noname#59749
質問者

お礼

お礼が遅くなり申し訳ありません! 回答ありがとうございました。

  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

> 「ErrorDocument 404 /err/404.html」というように相対パスで表記すると表示できません。 ↑これは相対パスではありません。 相対パスとは、現在位置から見た対象パスのことで、「../err/404.html」などという書き方のことです。 > 「ErrorDocument 404 http://アドレス/err/404.html」 ↑これは絶対パスというよりURLです。 指定しなければいけないのはサーバーの絶対パスです。 むしろ上の「/err/404.html」が絶対パスです。 以下など解りやすいかと。 http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/redirect.html#ErrorDocument

noname#59749
質問者

お礼

お礼が遅くなり申し訳ありません! 回答ありがとうございました。