- ベストアンサー
許可IP以外からアクセスがあった場合の自作エラーページ表示方法は?(htaccess)
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ファイルと自作エラーページは同じ階層に設置しています。 アクセス制限のみが有効になっており、自作エラーページ表示が無効になっています。 どなたかアドバイスをお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
/403.html ですと普通サーバルートのディレクトリの直下にある403.htmlという意味になります。 仮にURLがhttp://hoge.jp/~hogeがトップページとすると、 /~hoge/403.htmlというように指定する必要があります。
その他の回答 (1)
- xjd
- ベストアンサー率63% (1021/1612)
そもそも、403.html はどこに配置していますか? もしかして、DENYでアクセス拒否されているディレクトリ に403.htmlを配置しているとか? Apacheのデフォルトでは、エラーファイルは /var/www/error/ になっているので、そこに配置した場合は .htaccess ファイルで ErrorDocument 403 /error/403.html となります。 error_log ファイルを確認したら、原因がある程度わかると思いますが?
お礼
御回答ありがとうございます。 いろいろと試行錯誤して、無事にエラーページを表示させる事ができるようになりました。 エラーページ表示専用のhtaccessをエラー表示用のファイルと共に、ルート直下のディレクトリに設置して、エラーページの指定を絶対パスで記述することによって、見事表示させる事ができました。 アドバイスに感謝致します。 また何か分からない事があったら、御質問させて頂きますので、その時はよろしくお願いします。
お礼
御回答ありがとうございます。 参考URLも調べていて見た事があるのですが、やはりどうしても上手くいきません。 そこで、ルート直下のディレクトリにhtaccessとエラーページを設置してみました。 ですが、やはりIP制限しているディレクトリで許可IP以外からアクセスがあった場合の、エラー表示は上手くいきませんでした。 次にエラーページの指定を、絶対パスに記述しなおしてみると、上手くエラーページを表示する事ができました。 とにかく無事に表示させる事ができたので、解決しました。 アドバイスありがとうございました。