Apacheで自作のエラー画面が反映されません

このQ&Aのポイント
  • Apacheで自作のエラー画面が反映されず、デフォルトの表示のままとなってしまいます。
  • 正しいURLを入力しても表示されない理由を教えてください。
  • 設定状況や操作内容を詳しく教えていただけると助かります。
回答を見る
  • ベストアンサー

Apacheで自作のエラー画面が反映されません

はじめまして、debian Linuxで、webページを作成しています。 指定したURLが正しくないときに出る、 「404 Not Found」のエラー画面を自作し、 /etc/apache2/conf.d/localized-error-pages に設定をしたのですが、反映されず、デフォルトの表示のままとなってしまいます。 正しいURLを入力(http://[IPアドレス]/kounyu/input.htmlなど) として正常に表示されることは確認済みです。 どうして表示されないのか、頭を悩ませております。 恐れ入りますが、どなたか、ご教示頂けないでしょうか。 [設定状況] (1)コンテンツを配置しているディレクトリに、「error」フォルダを作り、エラーファイルを置きました。サイズは1.4kです。 /home/userhoge/public_html/kounyu/error/404.html (2)/etc/apache2/conf.d/localized-error-pages に、以下の1行を追記しました。 ErrorDocument 404 /home/userhoge/public_html/kounyu/error/404.html このファイルの他の行は、全てコメントアウトされています。 (3)そして、apacheを再起動 /etc/init.d/apache2 restart (4)しかし、どうしても写真のようになってしまいます(ブラウザはIEです)。 恐れ入りますが、何卒よろしくお願いいたします。

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

  • ベストアンサー
noname#259146
noname#259146
回答No.1

>(2)/etc/apache2/conf.d/localized-error-pages に、以下の1行を追記しました。 このファイルを編集してもApacheは読み込みません。 localized-error-pagesはサンプルファイルですのでerror.conf等にリネームするか、コピーしてください。 *.conf のファイルをApacheは読み込み対象にします。

w_horse
質問者

お礼

funcube様 ご回答いただき、まことにありがとうございました。 *.confファイルにしてみたのですが、あえて間違った記述をしてもエラーにならなかったことから、読み込んでもらえなかったようです…。 そこで、もう一度localized-error-pagesファイルのコメントを読み直し、Aliasを/error/ファイルに設定することで、解決いたしました。自己解決してしまい、申し訳ありません。 今回いただいた回答も一つの方法として、ぜひ参考にさせて頂きます。どうもありがとうございました。

関連するQ&A

  • RedHat LINUX7.2のapacheについて

    上記のLinuxにデフォルトでapacheを入れる設定にしてインストールしたのですが、 インストール後、404や403などのエラーコードのHTMLを書き換える為、 /etc/httpd/conf/httpd.conf に # Error documents ErrorDocument 404 ERROR/404.html ErrorDocument 403 ERROR/403.html のように書き換え、/var/www/html/ のapacheの最初のindex.htmlが入っていた ディレクトリにERRORディレクトリを作り、中に403.html等を入れているのですが、 403のエラーメッセージが、最初のまま変わりません。 ErrorDocument 403 "403 error とした場合には、ちゃんとただのテスストで「403 error」と応答が返るように変える事ができたのですが、 htmlの表示と指定方法になると何故か難しくて、わかりません。apacheの公式ページの通りに書いたと思うのですが。何故でしょうか。

  • apacheで ErrorDocument 404が利かない??

    apacheで ErrorDocument 404が利かない?? httpd.confにErrorDocument 404を設定しているのですが、まったく利きません・・・。 たいしたことをやっていないのに、機能しないので、 手順に間違いがあるのか分からなくなってしまいました。 ■環境 OS:WindowsXP apache 2.2.14 ■手順 1.apacheをダウンロードしてインストールする。 2.httpd.confに、以下を記述する。そのほかは何もいじらない。 ErrorDocument 404 /index.html 3.apacheを再起動する。 4.ttp://localhost/にアクセスする。「It works!」を表示することを確認する。 5.ttp://localhost/xxx.htmlにアクセスする(存在しないファイル)。  →index.htmlに返らず、ブラウザデフォルトの「ページが見つかりません」になる。 他にも試しました。 ドキュメントルートにerror.htmlを作成して、 ErrorDocument 404 /error.html にしてみたり。 でも、やっぱり「ページが見つかりません」になります。 ErrorDocument以外に何か設定する箇所はありますか? apacheに詳しい方がいらしたら、教えて欲しいです。 よろしくおねがいします。

  • Apache 設定 test画面

    ホームページにCGIを組み込もうと、Apacheを勉強している初心者です。基本的な質問で恐縮ですが、Apacheの設定ができたようなのですが、ホームページにアクセスすると、Apache2のtest画面が開かれてしまいます。その中の「 To prevent this page from ever being used, follow the instructions in the file /etc/httpd/conf.d/welcome.conf.」 の意味なのですが、「このページが開かれないようにするには、” /etc/httpd/conf.d/welcome.conf.”ファイルの指示に従いなさい」ということだと思うのですが、” /etc/httpd/conf.d/welcome.conf.”はどこにあるのでしょうか? ちなみに利用しているApacheは勉強の都合上、バージョン1.3です。 質問の仕方が間違っているんじゃないかと心配しているほどの初心者です。 どなたかお教え下されば、大変助かります。よろしくお願いいたします。

  • apache2でユーザーディレクトリが

    apache2でユーザーディレクトリを使いたいんですが ただのapacheではデフォルトでユーザーディレクトリがつかえるんですが 403でパーミッションを直して使えて apache2でいろいろ apache2.confなどにuserdir.cなどのモジュールを読み込ませたり sites-avalias/defaultに /home/*/public_htmlなど試してみたいんですが ダメみたいです ちょっと省略していますが ちなみにバージョンはApache/2.2.3です エラーは http://xxxxx/~ユーザー名 にアクセスすると 403ではなく404エラー フォルダが無いということは sites-avalias/defaultかapache2.confの設定がおかしいんでしょうか? ちゃんと /home/xxxx/public_htmlも作ってありますし パーミッションもあっています しかし <Directory /home/xxx/public_html>などの設定をしたいんですが sites-avalis/defaultに書くのか それともapache2.confに書くのかまぎらわしくて defaultのほうには<Directory /var/www>など書いてあって apache2.confにはmoduleなどいろいろ書いてあります apache2がhttpd.confではなくてまぎらわしくてよくわかりません それとバージョンなど古かったりなど違ったりして できないみたいです Apache/2.2.3でユーザーディレクトリを使っているかた 詳しく教えて下さいお願いします

  • PHPのエラーでapacheが起動できない

    教えてください。 Fedora Core4でWebサーバーを構築しているのですが、 httpd.confをコンパイルすると下記エラーが出てしまいます。 ”Syntax error on line6 of /etc/httpd/conf.d/php.conf:Cannot load /etc/httpd/modules/libphp5.so into server:libgmp.so.3: Cannot open shared object file:No such file or directory” /etc/httpd/conf.d/php.confのファイルをロードしないようにすればapacheは起動するのですが、PHPが使えません。 どう対処したらapacheとPHPが両方解決できますか? 宜しくお願いします。

  • ローカルのphpファイルが表示できません

    初めて投稿させて頂きます。 Linux初心者です。 初めてphpを使ったwebサイトを作成しようとしています。 先日、php5とapache2を導入しました。 今phpの動作確認中なのですが、 既定の/var/wwwにある.phpファイルは正常に画面に表示されるのですが、 自分で作成した/home/ユーザー名/public_html にそのファイルを持って行って、 ブラウザ(Iceweasel)のファイルを開くで開くと、ダウンロードをする画面となってしまい、困っています。 Google Cromeでも、同様で、 検索バーに「file:///home/ユーザー名/public_html/XXX.php」を入力すると、 XXX.phpが勝手にダウンロードされてしまいます。 あらゆるサイトを見て設定ファイルも確認したのですが、状況が 変わりません。 申し訳ありませんが、 お分かりの方がいたら、どなたかご教示頂けないでしょうか。 以下に状況をまとめます。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ■ディストリビューション  Debian ■phpバージョン  PHP 5.4.4-14 ■apacheバージョン  Apache 2.0 ■現象  /var/wwwのphpinfo.phpは正常に表示されるが、  自分で作成した/home/ユーザー名/public_htmlのphpinfo.phpを表示しようとすると  Iceweaselではダウンロードの画面が出、Google Cromeではダウンロードされてしまいます。 ■設定したファイル  (1)/etc/apache2/mods-available/mime.conf に以下3行を追記(並べて3行記述しています)。   **********************************************************    LoadModule php5_module modules/libphp5.so    AddType application/x-httpd-php .php    AddType application/x-httpd-php-source .phps   **********************************************************   /etc/apache2/mods-enabled/mime.conf にも上記の変更が反映されていました。  (2)以下5つのファイルの   DocumentRoot を「/var/www」→「/home/ユーザー名/public_html」に、   <Directory /var/www/>タグを<Directory /home/ユーザー名/public_html/>に変更。   ・/etc/apache2/sites-available/default     ・/etc/apache2/sites-available/default-ssl   ・/etc/apache2/sites-available/mysite   ・/etc/apache2/sites-available/mysite~   ・/etc/apache2/sites-enabled/mysite (3)/etc/apache2/mods-available/dir.conf にindex.phpの記述があることを確認済み。 (4)sudo /etc/init.d/apache2 restart でapache2を再起動。 ■備考  ・httpd.confは存在していないため、何もしていません。  ・変更点ではないですが、/etc/apache2/mods-enabled/php5.conf の以下の記述はコメントアウトされていない状態であることを確認済みです。  <IfModule mod_userdir.c>  <Directory /home/*/public_html>    php_admin_value engine Off  </Directory>  </IfModule>

  • apache tomcatの連携でのエラーメッセージ

    こんにちは、いつもお世話になっております。 「tomcat apache の連携ができていないのでしょうか」 という質問(受付中)をしているものです。 tomcat apache の連携で試行錯誤していたら 新たに疑問が出てきたので質問させていただきます。 APACHE_HOME/modulesにmod_jk2.soを配置し APACHE_HOME/conf\httpd.confの最後の行に 「LoadModule jk2_module modules/mod_jk2.so」 と記述する。 そしてapacheを起動すると以下のようなエラーが出ます。 「Syntax error on line "LoadModuleを記述した行番号" of APACHE_HOME/conf/httpd.conf: Cannot load APACHE_HOME/modules/mod_jk2.so into server: ....」 原因は何なのでしょうか、どなたか教えていただけないでしょうか よろしくお願いします。

  • (FC5)Apacheの設定に関して

    httpd.confの public_htmlを有効にして /home/USER_NAME/public_html にあるファイルを表示させようと設定してみたのですが permissionがおかしいと403のエラーがでてしまいます。 私のぼろぼろな英語力を頼りにhttpd.confの public_htmlを有効にする記述の前後の英文を 読んだところ711に変更しろと書いてある気がしたので ルート権限で #chmod 711 public_html とやってみたのですが 相変わらず403のエラーが出てしまいます。 どのような原因が考えられますか? アドバイスよろしくおねがいします。

  • Debianの Apache2 VirtualHostの設定方法 RedHat系と違う?

    DebianのApache2を使い、バーチャルホストの設定を行いたいのですが、何か良い見本があれば教えていただけますか? RedHat系では httpd.confにすべて記述していたのでうすが、debianは設定ファイルが色々と分かれているようです。/etc/apache2/site-available/defaltに<VirtualHost>の設定を行うのですが、RedHat系の物をそのまま書き写して、 /etc/init.d/apache startとしても、起動しません。 デビアンのバーチャルホストの設定で参考になるものがございましたら教えてください。

  • apache自動起動について

    はじめまして、自宅でサーバーを立てようとしているのですが、つまずいてしまったので力を貸してください。 環境はRedhat9.0(?)、apache2.054を使用しています。 他のいろいろなHPを参考に /etc/rc.d/rc.local の最後に /usr/local/apache/bin/apachectl start と付け加えてみたのですが、エラーが表示されます。 [エラー] 「httpd failed. The error was: Starting httpd: Syntax error on line 28 of /etc/httpd/conf.d/perl.conf: lnvalid per-directory PerlOption: parseheaders [FAILED]] /etc/httpd/conf.d/perl.conf 28行目あたりの記述 alias /perl /var/www/perl <directory /var/www/perl> sethandler perl-script perlhandler modperl::registry::handler perloptions +parseheaders ←28行目 options +execcgi </directory> 上記エラーが何を示しているか、自動起動の方法を教えてください。