2

私のディレクトリには、30個近くのphpファイル、4つのサブディレクトリがあります。いくつかのphpファイルとサブディレクトリをユーザーから直接表示するようにブロックしたい http://bhavani.com/hai.php

私の現在のhtaccessファイル

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On 
RewriteBase / 
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC] 
## Test that file requested has php extension 
RewriteCond %{REQUEST_FILENAME} ^.+\.php$ 
## Forbid Access 
RewriteRule .* - [F,NS,L]

どうやってするの?

4

3 に答える 3

5

このようにファイルをフィルタリングできます

<Files ~ "\.php$">
  Deny from all
</Files>

そして、このようなディレクトリ

<Directory "/subdirectory">
  Deny from all
</Directory>
于 2012-11-16T08:47:47.943 に答える
4

mod_rewriteこれを達成する必要はありません。これを行うより簡単な方法は、RedirectMatchディレクティブ from を使用することmod_aliasです。

RedirectMatch 403 ^.*/include/*\.php$

403 Forbiddenこれは、サブディレクトリ内の任意の PHP ファイルに対する直接の要求に自動的に応答しますが、他の php ファイル内includeからそれらにアクセスすることもできます。include

于 2012-11-16T08:49:49.240 に答える
0

RewriteCond なしで RewriteRule のみを使用できると思います。例: RewriteRule ^/hai\.php - [F, NS, L] このルールは、ファイル hai.php へのアクセスを禁止します。他のファイルについては、他のルールを使用するか、マスクを使用できます。

于 2012-11-16T08:46:52.383 に答える