使用 Apache,我搜索了拒绝访问子目录中所有 *.php URL 的方法。我在 .htaccess 中成功做到了这一点:
Order deny,allow
Allow from All
<Files ~ "^.*\.php$">
Deny from All
</Files>
但现在,我想为被拒绝的单个 URL 添加额外的访问权限。我做了很多测试,但没有得到任何效果或“错误 500”,例如:
Order deny,allow
Allow from All
<Directory "/home/site/www/repertoire1/repertoire2/">
<Files "fichier.php">
Allow from All
</Files>
</Directory>
<Files ~ "^.*\.php$">
Deny from All
</Files>
这个 .htaccess 位于“repertoire1”中,我想要允许的 URL 是http://example.com/repertoire1/repertoire2/fichier.php
我无法将文件放在目录“repertoire2”中,然后我想将所有访问规则放在一个 .htaccess 文件中
答案1
您不能<Directory>
在 .htaccess 中使用,上下文是服务器配置或虚拟主机:
http://httpd.apache.org/docs/2.2/en/mod/core.html#directory
您必须在 /home/site/www/repertoire1/repertoire2/ 中设置另一个 .htaccess
<Files "fichier.php">
Allow from All
</Files>
在里面