我想阻止访问“sub / folder / index.php”,但不能阻止访问“index.php”。
<Files index.php>
Order allow,deny
Deny from all
</Files>
可以阻止所有“index.php”文件。
<Files sub/folder/index.php>
Order allow,deny
Deny from all
</Files>
不起作用。我需要使用<Directory>
吗?
我不想在子/文件夹中创建.htaccess文件
我无法访问httpd.conf
我不想阻止子/目录中的所有内容
如果这很容易,我不会问;)
答案 0 :(得分:23)
我认为最简单的规则是:
RedirectMatch 403 ^.*/sub/folder/index\.php$
RedirectMatch在mod_alias模块中,你当然有。这并不意味着mod_rewrite引擎。这里我们只是告诉apache对sub / folder / index.php的任何访问都会产生“403禁止”的答案。
你可以把它放在httpd.conf或root .htaccess中(但是真的考虑删除所有的.htaccess,它很糟糕,它很慢,很遗憾你无法访问真实的配置文件)。
答案 1 :(得分:2)
我尝试在该子/文件夹/中创建另一个.htaccess来阻止对该index.php的访问。
“如果将.htaccess文件放在子文件夹中,其指令将覆盖您站点主文件夹中的指令。”
此页面提供了更多信息:http://www.besthostratings.com/articles/htaccess.html
答案 2 :(得分:1)
如何在包含您要保护的文件的特定文件夹中创建.htaccess
文件?
修改:
请注意,这实际上不适用于简单的.htaccess
文件,请参阅下面的评论。这只能在apache.conf文件中使用。
这应该是没有其他 .htaccess
文件的诀窍:
<Directory sub/folder>
<Files index.php>
Order allow,deny
Deny from all
</Files>
</Directory>
答案 3 :(得分:0)
您只能在&lt; Files&gt;中使用文件名部分,而不是路径。
我可以看到三个选项;
-
RewriteEngine on
RewriteRule ^sub/folder/index.php$ http://yoursite/index.locked
如果您希望拒绝权限,则会在文件上提供404,在指向的位置创建一个读取受保护的文件。