- ベストアンサー
自作のエラーメッセージ作成について
404エラーに対して自作のエラーメッセージを表示させたいのですがうまくいきません。 エラーメッセージ自体はerrフォルダに404.htmlという名称で作成しています。 具体的には、.htaccess内の記述 「ErrorDocument 404 http://アドレス/err/404.html」 このように絶対パスで記述すると、存在しないページのURLに飛んだ時自作メッセージが表示されるのですが、 「ErrorDocument 404 /err/404.html」というように相対パスで表記すると表示できません。 出来れば相対パスで記述して表示できるようにしたいのですが、どうしたら良いのでしょうか? ちなみに.htaccess及びerrフォルダはindex.htmlと同列に置いています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
自作エラーメッセージは、表示させるページをURLもしくは絶対パスで指定するのどちらかと。 URLで指定 http://アドレス/err/404.html (ブラウザのアドレス欄に表示されるURLはhttp://アドレス/err/404.html) 絶対パスで指定 /DocumentRoot/err/404.html (ブラウザのアドレス欄に表示されるURLは元のURLがそのまま表示)
その他の回答 (3)
- myllayoulla
- ベストアンサー率52% (10/19)
ErrorDocument 404 /err/404.html とやれば出来そうだけど…。 .htaccessの最後の行に改行は入っていますか? 改行してないとダメです。 パーミッションはあってますか? あと、404エラーページに限り、エラーページのサイズが小さすぎますと、表示されない場合があります。 ページの容量が1Kバイトを超えるように作成してみてください。
お礼
お礼が遅くなり申し訳ありません! 回答ありがとうございました。
- inu2
- ベストアンサー率33% (1229/3720)
/(先頭に「.」が付いていない)から始まるのは、相対パスではなくて、絶対パスです ホスト名を省略するのであれば、ルートディレクトリから記述しなくてはなりません たとえば /usr/local/apache/htdocs/err/404.html などのように記述してください (上記はあくまでも例ですので、あなたの環境に合わせてください)
お礼
お礼が遅くなり申し訳ありません! 回答ありがとうございました。
- taseki
- ベストアンサー率66% (155/233)
> 「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
お礼
お礼が遅くなり申し訳ありません! 回答ありがとうございました。
お礼
お礼が遅くなり申し訳ありません! 回答ありがとうございました。