.htaccess拒绝访问特定文件?不止一个
问题描述:
我能够禁止访问与.htaccess的文件,但我不知道如何禁止多个文件进行查看(直接,不包括).htaccess拒绝访问特定文件?不止一个
他们.PHP这样我就可以“T禁用文件类型(如仅在线教程说..)
<FILES ... ?
</FILES>
或什么的。例如‘home.php,file.php,test.php的’我怎么禁止访问所有三个带有该标签的文件?或类似的,请帮助!
答
如果你想基于正则表达式来排除文件,你可以使用FilesMatch而不是文件,如:
<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$>
...
</FilesMatch>
答
看起来你必须排除这些文件逐一:
<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>
完美,我喜欢每个文件名的管道,正是我想要的。谢谢。 – 2010-02-02 09:43:48
警告:如果你想排除/test.php,而不是/public/test.php或/test.php.bak,使用字符串的开始和结束。 – Residuum 2010-02-02 09:58:16
这是我见过的最有用的一周。诚然,它只是在星期一的下午2点左右,但仍然如此。 – Imperative 2014-03-24 21:08:13