.htaccess拒绝访问特定文件?不止一个

问题描述:

我能够禁止访问与.htaccess的文件,但我不知道如何禁止多个文件进行查看(直接,不包括).htaccess拒绝访问特定文件?不止一个

他们.PHP这样我就可以“T禁用文件类型(如仅在线教程说..)

<FILES ... ? 

</FILES> 

或什么的。例如‘home.php,file.php,test.php的’我怎么禁止访问所有三个带有该标签的文件?或类似的,请帮助!

如果你想基于正则表达式来排除文件,你可以使用FilesMatch而不是文件,如:

<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$> 
... 
</FilesMatch> 
+0

完美,我喜欢每个文件名的管道,正是我想要的。谢谢。 – 2010-02-02 09:43:48

+0

警告:如果你想排除/test.php,而不是/public/test.php或/test.php.bak,使用字符串的开始和结束。 – Residuum 2010-02-02 09:58:16

+1

这是我见过的最有用的一周。诚然,它只是在星期一的下午2点左右,但仍然如此。 – Imperative 2014-03-24 21:08:13

看起来你必须排除这些文件逐一:

<files home.php> 
Deny/Allow/Whatever 
</files> 
<files file.php> 
... 

可以在<files>something*使用*.gif,但home.php,file.php和test.php的真的不能分组为“*”,这可能是唯一的出路。

因为Apache 2.4

<FilesMatch "\.htaccess|config\.php"> 

    Require all denied 

</FilesMatch> 

,而不是

<FilesMatch "\.htaccess|config\.php"> 

    Order allow,deny 
    Deny from all 

</FilesMatch>