2012-08-01 71 views
8

我想拒絕訪問目錄/all/cstl/中的多個PHP文件。拒絕使用.htaccess訪問多個.php文件?

我的.htaccess也保存在這個目錄下。

這是我當前的代碼,它不起作用。

<Files "\ (config.php|function.php|include.php)"> 
    Order allow,deny 
    Deny from all 
</Files> 

我試圖拒絕該目錄,並允許特定的文件,但它拒絕目錄,並且不允許請求的.php文件。我對這個代碼是:

<Directory /> 
    Order deny,allow 
    Deny from all 
<Directory> 

<Files "index.php|post.php"> 
    Order deny,allow 
    Deny from all 
</Files> 

請給我一個目錄內阻止訪問多個特定文件的一些例子。

+1

http://stackoverflow.com/questions/2182936/htaccess-deny-access-to-specific-files-more-than-one – BSen 2012-08-01 12:40:05

+0

怎麼樣通過目錄阻止和允許其還沒有工作文件.. 。 – 2012-08-01 12:54:15

回答

24

您在那裏有.htaccess存在幾個問題。

由於BSen在上面的註釋中鏈接,所以應該使用FilesMatch。另外,你的正則表達式是錯誤的。

正則表達式的問題是,你必須在開始的逃脫的空間,因此,所有文件必須用空格字符(後跟config.php文件之一,function.php等)

而且一開始訂單的小交代允許,拒絕指令: http://www.maxi-pedia.com/Order+allow+deny

試試這個:

<FilesMatch "config\.php|function\.php|include\.php"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

如果您想拒絕所有,但幾個文件,這將改爲

Order deny,allow 
Deny from all 
<FilesMatch "index\.php|index\.html"> 
    Allow from all 
</FilesMatch>