正如标题所说,我想从apache执行中排除所有php文件,但不包括其中一些我知道是“合法”的文件。
我尝试使用[^(file1|file2|file3|...|filen)|(\*)].[(php)|^(\*)]
,但它似乎只匹配()
内文件的最后一个字符
我也尝试过阴性前瞻但没有结果。
有人能指出我正确的方向吗?
编辑:显然我在该表达式下使用Deny from all
答案 0 :(得分:0)
<Files>
允许使用~
运算符进行正则表达式,但<FilesMatch>
应该是首选:
<FilesMatch '\.php$'>
Deny from all
</FilesMatch>
<FilesMatch '(file1|file2|file3)\.php$'>
Allow from all
</FilesMatch>
也可以使用正则表达式,并添加
~
字符。例如:
<Files ~ "\.(gif|jpe?g|png)$">
#... </Files>
将匹配最常见的Internet图形格式。
<FilesMatch>
是 但是,首选。