首页 > 解决方案 > .htaccess 在子目录中拒绝除 index.php 之外的子目录中的所有内容

问题描述

这是 Web 托管目录的样子:

有没有办法让 .htaccess 文件拒绝与其位置相关的所有内容(即子目录中的所有内容),除了该目录中的 index.php 文件,而不影响位于其父目录中的任何内容?

我尝试了以下方法,但它也拒绝我访问 /subdirectory/ 。如果我做 /subdirectory/index.php 它似乎工作。

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files ./index.php>
   Order Allow,Deny
   Allow from all
</Files>

最理想的情况是,如果解决方案与它所在的目录结构无关——那就是将来我可以将所有内容移动到父目录,它仍然可以工作。

标签: .htaccess

解决方案


在提到的.htaccess位置试试这个:

RewriteEngine On
RewriteRule !^(index|$) - [F]

那将只允许index在此目录中请求并且不会影响父目录。


推荐阅读