上記の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の公式ページの通りに書いたと思うのですが。何故でしょうか。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
apache の再起動はされましたか?設定ファイルの変更後は 再起動が必要です。
/ERROR/404.html
これらのファイルは apahce から認識できるところにちゃんとありますか?localhostの場合 http://localhost//ERROR/404.html とすれば見えるはずですが…。ちゃんと見えないのだったら /ERROR に alias の設定が必要と思います。
No.3
- 回答日時:
(#1の補足の内容について)
私もapacheの再起動くらいしか思いつかないです。
ついでの方の話は、やはりCGIとかを使うしか
ないと思います。
この回答への補足
再起動したらうまくいきました。皆様どうも有り難う御座います。
2つ目の方なのですが、デフォルトの表示ではちゃんと
URLを表示して、「~~.html Not Found」と表示が出るのですが、
この機能を、自分の作ったHTMLに流用利用することは出来ませんか。
No.4
- 回答日時:
デフォルトのエラーで「~~.html Not Found」と
出るのは、どこかにあるそういうhtmlファイルを
読み込んで表示しているのではなくて、
apacheがその場で生成して表示しているから
可能なのだと思います。
どのページにアクセスしようとしてエラーになったのか
は、環境変数の REQUEST_URI とかに入っていると
思うので、この内容を表示するためには、やはり
CGIとかの何らかのプログラミングが必要ではないかなぁ
と思います。
PerlのCGIの例) /ERROR/404.cgi
#! /usr/bin/perl
print <<"EOF";
Content-Type: text/html
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h3>404 Not Found</h3>
<p>$ENV{'REQUEST_URI'} was not found.</p>
</body>
</html>
EOF
No.5
- 回答日時:
補足です。
#4の例ではセキュリティー的に問題になる場合もありうるので、そのまま使うなら、次のように
する方がいいと思います。
#! /usr/bin/perl
$request_uri = $ENV{'REQUEST_URI'};
$request_uri =~ s/>/>/g;
$request_uri =~ s/</</g;
$request_uri =~ s/&/&/g;
print <<"EOF";
Content-Type: text/html
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h3>404 Not Found</h3>
<p>$request_uri was not found.</p>
</body>
</html>
EOF
この回答への補足
わかりやすくありがとうございます。
この場合は404.cgi(例)として動かさねばならないみたいですが、
var/www/cgi-bin/ 以外ではcgiが動かないようです。
htmlからcgiを呼び出すとか考えたほうがいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- その他(パソコン・周辺機器) dvd書き込めない 5 2022/03/22 19:06
- PHP php エラー 2 2022/10/23 16:43
- UNIX・Linux Ubuntuのアプリ版?が起動しません 1 2022/04/29 16:56
- UNIX・Linux Linuxサーバーのパーティション・ディレクトリの推奨見積もりについて 3 2023/01/17 00:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB初心者。小数点以下の表示で...
-
index.html(トップページ)か...
-
IEで「file://」プロトコルが使...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
WEBページを強制的に横画面で見...
-
select値をhiddenのvalueに渡し...
-
チェックボックスの返す値
-
iis+cgiでmultipart/form-data...
-
チェックボックスグループの一...
-
EXCELとの連携
-
日本語文字化け(GETメソッド?)
-
INPUT TYPE
-
sendmail 送信先を複数設定す...
-
VB.net データーグリッドビュー...
-
「value」に2つの値をセットす...
-
WEBアプリケーションからフォル...
-
CGI経由でのPDFファイルをダウ...
-
cgiからsendmailを送信で文字化け
-
ディレクトリのファイル数取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB初心者。小数点以下の表示で...
-
ローカルテストサーバーと本番...
-
ブックマークからのアクセスを...
-
proftpdで困ってます。
-
フリーズする原因
-
HTMLでテキスト読み込み
-
index.html(トップページ)か...
-
vsftpd+sslでアップロードできない
-
htmlファイルが表示できません
-
IEで「file://」プロトコルが使...
-
大和ネクスト銀行の銀行コード
-
JEditorPaneでwebページを表示
-
Lightboxの表示位置に関して質...
-
SELECTでgroup byした時の挙動
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
おすすめ情報