「これはヤバかったな」という遅刻エピソード

htaccessによって、ネットマスクでのアクセス制限をしています。

許可IP以外からアクセスがあった場合、自作のエラーページを表示させたいのですが、うまく表示されません。

アクセス制限とそのエラーに対して自作のエラーページを表示させる事はできないのでしょうか?

htaccessの内容は下記の通りです。

ErrorDocument 403 /403.html
ErrorDocument 404 /404.html

order deny,allow
deny from all

allow from 123.45.67.8/24


上記のように記述しています。
htaccessファイルと自作エラーページは同じ階層に設置しています。

アクセス制限のみが有効になっており、自作エラーページ表示が無効になっています。

どなたかアドバイスをお願い致します。

A 回答 (2件)

/403.html ですと普通サーバルートのディレクトリの直下にある403.htmlという意味になります。



仮にURLがhttp://hoge.jp/~hogeがトップページとすると、
/~hoge/403.htmlというように指定する必要があります。

参考URL:http://www.mikeneko.ne.jp/~lab/web/htaccess/redi …
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

参考URLも調べていて見た事があるのですが、やはりどうしても上手くいきません。

そこで、ルート直下のディレクトリにhtaccessとエラーページを設置してみました。
ですが、やはりIP制限しているディレクトリで許可IP以外からアクセスがあった場合の、エラー表示は上手くいきませんでした。
次にエラーページの指定を、絶対パスに記述しなおしてみると、上手くエラーページを表示する事ができました。

とにかく無事に表示させる事ができたので、解決しました。

アドバイスありがとうございました。

お礼日時:2004/04/25 19:08

そもそも、403.html はどこに配置していますか?



もしかして、DENYでアクセス拒否されているディレクトリ
に403.htmlを配置しているとか?

Apacheのデフォルトでは、エラーファイルは
/var/www/error/ になっているので、そこに配置した場合は
.htaccess ファイルで

ErrorDocument 403 /error/403.html

となります。

error_log ファイルを確認したら、原因がある程度わかると思いますが?
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

いろいろと試行錯誤して、無事にエラーページを表示させる事ができるようになりました。

エラーページ表示専用のhtaccessをエラー表示用のファイルと共に、ルート直下のディレクトリに設置して、エラーページの指定を絶対パスで記述することによって、見事表示させる事ができました。

アドバイスに感謝致します。

また何か分からない事があったら、御質問させて頂きますので、その時はよろしくお願いします。

お礼日時:2004/04/25 19:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報