我有不允许的PHP脚本文件夹中的一个htaccess规则:htaccess的FilesMatch否认,但允许特定的文件后
<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
这工作得很好。问题是有一个特定的PHP脚本,我希望能够调用(通过ajax),所以我想添加另一个规则后拒绝说,但如果它是这个特定的文件,然后允许它。我已经与该文件所在的是这样的文件夹中的其他htaccess中成功地做到了这一点:
<Files ajax_file.php>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Files>
我遇到的问题是,我要授予来自同一htaccess的作为一个单一的文件访问原始文件匹配,阻止所有.php文件。我似乎无法使它与添加文件路径一起工作,并且想知道是否有更好的方法来解决这个问题。有问题的文件会比拒绝php脚本的htaccess文件深一些。
这样做会允许我指定特定的ajax文件的路径吗?那理论上会允许任何名为ajax_file.php的文件正确吗?我特别希望只在/ folder1/folder2/folder3中找到ajax_file.php。它看起来像我可以做你上面描述的方式,但绝对不能具体的路径。 –
Nick