カスタマイズした404ページの表示に関する問題と解決方法

このQ&Aのポイント
  • カスタマイズした404ページを設定できない問題が発生しています。404ページと.htaccessの格納場所は、http://www.***1.jp/***2/***3/404.htmlとhttp://www.***1.jp/***2/***3/.htaccessです。
  • .htaccessの記述が異なる場合、カスタマイズした404ページが表示されない問題が発生しています。具体的には、ErrorDocument 404 /***1/***2/404.htmlの記述では404.htmlの画像やcssが正しく表示されないことがあります。
  • .htaccessの記述によって異なる結果が得られます。ErrorDocument 404 /404.htmlの記述ではカスタマイズした404ページが表示されず、エラーメッセージが追記されます。一方、ErrorDocument 404 http://www.***1.jp/***2/***3/404.htmlの記述では問題なく表示されますが、リダイレクトが行われるため推奨されていません。
回答を見る
  • ベストアンサー

カスタマイズした404ページが設定できない

404ページと.htaccessの格納場所は、 http://www.***1.jp/***2/***3/404.html http://www.***1.jp/***2/***3/.htaccess 1) .htaccessの記述が下記の場合… ErrorDocument 404 /***1/***2/404.html →404.htmlの画像、cssがきちんと表示されない 例えば、存在しないページhttp://www.***1.jp/***2/***3/***4/index.htmlへ飛ぼうとした場合に表示されたhtml内の画像やhrefを見てみると、http://www.***1.jp/***2/***3/***4/404.htmlを読もうとしている 2) .htaccessの記述が下記の場合… ErrorDocument 404 /404.html →カスタマイズした404ページが表示されず、下記文言が追記されている。 Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 3) .htaccessの記述が下記の場合… ErrorDocument 404 http://www.***1.jp/***2/***3/404.html 問題なく表示。でも、リダイレクトになってしまい、これはあまり推奨されてないようです。 アドバイスいただけないでしょうか。 よろしくお願いします。

noname#228475
noname#228475

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5078/13272)
回答No.1

基本的には 1) の記述方法で .htaccess はいいと思います。 404ページ内で画像・CSSが読み込まれないのは、linkタグやimgタグでのパスの指定方法が問題なのでしょう。 ブラウザは、エラーのあったページのURLにアクセスしているものとして動作していますので、相対パスで書かれているとエラーのあったページの位置から相対パスで画像やCSSを読み込もうとしてしまいます。 画像やCSSは /***2/***3/404.css といった感じでルートディレクトリからの絶対パスで書くと読み込めるようになると思います。

noname#228475
質問者

お礼

お陰様で解決できました! 本当にありがとうございました!

関連するQ&A

  • 個別のErrorDocumentの設定(Apache2.0.47)

    VirtualHostを使って複数のサイトを運営しているのですが、 .htaccessを使わず、httpd.confの設定でそれぞれ個別に ErrorDocumentを設定するにはどのようにすればいいのでしょうか? <VirtualHost *:80>の中でErrorDocumentを設定してみてもAdditionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. こんな風なエラーが出てしまいます。 #.htaccessを使ってErrorDocumentを設定すると、以下のようなことが起きるのが嫌なのでこの質問をしました。 http://***.com/hoge.cgiが500だったとすると ここへアクセスするとhttp://***.com/505.html のようにURLが変わってしまう よろしくお願いいたします。

  • 「Forbidden」が表示されWebページが見れない

     あるページを開こうとすると 「Forbidden You don't have permission to access /***/ on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.」 (/***/は任意の名前) が表示され閲覧できません。相手側に問題があると思うのですが、このメッセージは何を意味するのでしょうか?

  • .htaccess エラーページについて

    .htaccessでエラーページを自作のものになるよう設定したいのですが、上手くできず、困っています。 自作したのは404と403のみ。 ErrorDocument 403 絶対パス ErrorDocument 404 絶対パス という記述です。 確認したところ404エラーページは難なく表示されるのですが、403に関しては再読み込みしないと自作のものにならず、「~を開こうとして多くのリダイレクトが発生しています。あるページへのリダイレクトが設定されているページを開いたときに、リダイレクト先のページから元のページにさらにリダイレクトが設定されている場合にこうした現象が起きる場合があります。」というページになり、リダイレクトループしてしまっているようなのです。 使用サーバーはロリポップ ブラウザはsafariです。 解決法又は原因など教えて下さると助かります。 よろしくお願いいたします。

  • .htaccessで403error時に表示するページの設定

    現在、.htaccessで403エラーになったときに表示されるページの設定をしているのですが、 作成した403用のページを表示できず、ブラウザのデフォルト403ページが表示されてしまっています。 .htaccess自体は正常に動作しているのを確認しているため、 ErrorDocumentに関連する記述が誤っていると思うのですが、どこがおかしいのかが分かりません。 どうぞご教授お願いいたします。 なお、403時に表示されるページのアドレスは、(サイトURL)/error/403.html、すでにサーバー上にアップ済です。 下記が現在記述している.htaccessになります。 AddHandler cgi-script htaccess SetEnvIf Accept-Language ko Lilith SetEnvIf Accept-Language en Lilith ErrorDocument 403 /error/403.html Order Allow,Deny Allow from all deny from env=Lilith deny from .ed.jp deny from .ac.jp

  • .htaccessの設定

    ご教授宜しくお願い致します。

 下記web構成です。 トップページに
index.htmlがあり、他ページはabcのフォルダの中にさらにindex.htmlをおいています。
 トップページのアドレスの表示は、
http://www.sample.com/(仮)です。 abcのフォルダのページのアドレスは
http://www.sample.com/abc/ です。

 この状態で、404エラーを全てのページに適応させたいのですが、
自作の404.htmlのエラーページを作成し、.htaccessに下記記述をしました。 
ErrorDocument 404 /404.html

 しかし、これですと、
http://www.sample.com/ にのみしか適応にならず、他のページhttp://www.sample.com/abc/などは、読み込んではいるものの、CSSや画像の読み込みが出来ていない状態です。文字だけの表示となってしまいます。 

また、.htaccessに下記記述をすると ErrorDocument 404 http://www.sample.com/404.html 全てのページに適応になるのですが、 
http://www.sample.com/abc/404.html
といったアドレスになり、「404.html」という表示をさせたくないのです。

 何とか、.htaccessの記述で、全てのページに適応する記述方法はないでしょうか?

 どなたかご教授お願い致します。
宜しくお願い致します。

    • ベストアンサー
    • HTML
  • 昨日の夜は見れたのに、今日は「forbidden」…?

    こんにちは。今日あるサイトに言ったら Forbidden You don't have permission to access / on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. というページが出ました。 「あなたはアクセスする承認・同意を得ていません」っていう訳だと思うんですけど、、これは管理者から僕だけを入れないようにされたのでしょうか? 回答お願いします。

  • htaccessを他サーバーにコピーしたら正常に機能しないのですが…

    A社のサーバーで.htaccessでパスワードによるアクセス制限をしていました。 B社のサーバーでも同じパスワードで制限をかけようと、A社のサーバに入れてあるものと全く同じ.htassess、.htcomment、.htdircomm、.htpasswdを制限目的のディレクトリに入れたのですが、その制限エリアのファイルにアクセスしようとすると、パスワードとユーザ名は聞いてくるものの、正しい情報を入れても受け付けてもらえず、3回トライすると Authorization Required This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. というエラーになってしまいます。 .htaccessに記述してある.htpasswdの位置はちゃんとB社用に書き換え、間違っていないと思うのですが…。 ちなみに、.htaccessがある場所が/public/aaa/member/内だとすると、 .htpasswdも同じところにおいてあるので AuthUserFile /public/aaa/member/.htpasswd と記述しています。 試しにA社の.htpasswdをわざと間違った場所に置いてみたのですが、それで表示されるエラーには、上記のエラーにあるAdditionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. という部分は含まれていませんでした。 一体、どこが悪いのでしょうか? 原因を思いつかれる方がいらっしゃいましたらご指摘頂けないでしょうか? よろしくお願い致します。

  • 一部のサイトだけ閲覧できなくなりました。

    Internet Explorerで一部のサイトだけ開けると下記のように表示されました。 これは、私のパソコンの設定で表示されないのでしょうか? ちなみに、ウイルスバスター2002をインストールしています。 OSは、XPです。 Forbidden You don't have permission to access /Hollywood-Cinema/7183/smap.html on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. 昨日までは、普通に閲覧できたのですが。 是非、教えてください。宜しくお願いいたします。

  • TripodのCGI

    TripodでCGIを設置したんですが トップページからcgiへのリンクをクリックしても Forbidden You don't have permission to access /○○○/cgi-bin/sample.cgi on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. と表示されてしまいます。 マイアカウントでCGIの設定は済んでいます。

    • 締切済み
    • CGI
  • 下記の文章を翻訳願います

    You don't have permission to access /cgi-bin/deep/boutique/view.cgi on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

専門家に質問してみよう