プロが教えるわが家の防犯対策術!

/public_html/直下のindex.html等にアクセス制限をしつつ、403エラーを404エラーとして返す方法はありませんか?

現状403を404と返すためのエラードキュメント(/public_html/error/hoge.php)自体にもアクセス制限がかかっているため結局403エラーを返してしまうといったことになってます。

A 回答 (2件)

ディレクトリーの属性変更できる権限がないと


結論としては無理かと
FFFTP(FTPソフト)とかでディレクトリの属性を755にして
メモ帳かなんかで空内容のindex.htmlを/public_html/直下に
置けば可能です。

この回答への補足

回答ありがとうございます。
説明不足だったので補足しておきます。
indexのアクセス制限は特定の条件で制限をしていて、それ以外は普通にに教示させたいと思ってます。

.htaccessの内容は以下のような感じです。

#特定ホストのアクセス制限とか
order allow,deny
allow from all
deny from 123.45.67.89

#403を404で返す
ErrorDocument 403 /error/hoge.php

ファイルの設置場所とか
public_html / index.html
.htaccess

補足日時:2008/07/16 18:41
    • good
    • 0

ご希望通りになるかどうか判りませんが


FilesMatchだとfile名でマッチするものだけを制限できます

サンプル:
ErrorDocument 403 /error/hoge.php
<FilesMatch "\.(s?html?|gif|jpe?g|png)$">
Order allow,deny
Deny from all
</FilesMatch>
##以上のサンプルでは .shtml .html .htm と画像を制限しています
参考URL: http://httpd.apache.org/docs/2.0/ja/mod/core.htm …

但し、Multiviewsを使っている場合は 意図した動作に成らないことが有るらしいので
FilesMatch や Filesで制限する場合は Multiviewsは使わない方が吉かもです。
    • good
    • 0
この回答へのお礼

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

サンプルを拝借させていただいて、特定のファイルに制限をかける…という部分にヒントをいただき、逆の発想でerrorフォルダに全てのアクセスを許可する.htaccessを置けばいいことに気付きました。
hoge.phpを置いているerrorフォルダに
allow from all
とかいた.htaccessを置くことで無事解決しました。

すごく簡単なことに気付かなかったのが恥ずかしいです。
ありがとうございました。

お礼日時:2008/07/16 20:45

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