Net: .htaccess で特定ディレクトリのアクセスを拒否する方法
通常、http サーバが Apache かつ .htaccess が使用できる場合で、特定ディレクトリのアクセスを拒否したい場合は、そのディレクトリの .htaccess ファイルに deny from all とでも記述すればよいが、ある URL のドキュメントルートの下に、別 URL のドキュメントルートがあるような場合で、どちらかの URL からのアクセスのみ許可したい等の場合は使えない。
下記のように、
これを
下記の内容の .htaccess ファイルを http://www.example.net/ のドキュメントルート、/hoge/contents.net/ 直下に設置する。
※上記設定が有効となるには、AllowOverride で FileInfo と Limit が許可になっている必要がある。
※当然、http://www.example.net/contents.net/ という URL もアクセスできなくなる。
下記のように、
- http://www.example.com/
ドキュメントルート : /hoge/ - http://www.example.net/
ドキュメントルート : /hoge/contents.net/
これを
- http://www.example.com/contents.net/ → アクセスを拒否
- http://www.example.net/ → アクセスを許可
下記の内容の .htaccess ファイルを http://www.example.net/ のドキュメントルート、/hoge/contents.net/ 直下に設置する。
| SetEnvIf Request_URI "^/contents\.net/.*" DenyReq order allow,deny deny from env=DenyReq allow from all |
※上記設定が有効となるには、AllowOverride で FileInfo と Limit が許可になっている必要がある。
※当然、http://www.example.net/contents.net/ という URL もアクセスできなくなる。
