我试图拒绝访问整个目录,除非文件(无论它在哪里)返回 200 状态。这需要写在我的 .htaccess 文件中。我知道这不是有效的 .htaccess 语法,除了deny from all
部分之外,我只是在展示我的概念。
if(external-page.php returns anything but 200 header)
{
# deny the current directory
deny from all
}
external-page.php将运行一个脚本来检查用户是否具有有效的凭据。如果他们这样做,它将加载状态为 200 的页面。如果他们不是有效用户,它将返回 404 状态。
.htaccess 文件位于我要拒绝的目录中,但是,我要检查其状态的脚本不在该目录中。
提前致谢。
更新:因为似乎有些混乱。我在下面列出了我的目录结构:
DIRECTORY_A/
DIRECTORY_B/
.HTACESS
FILE_1.PHP
FILE_2.PHP
FILE_3.PHP
FILE_A.PHP
基于这个目录结构,我想要做的是......如果FILE_A.PHP
返回 404(或者它可以返回任何东西,只要我可以检查它)。然后我想拒绝所有访问DIRECTORY_B
. 如果FILE_A.PHP
返回 200(或 true,或者我可以检查的任何内容),那么我想允许访问DIRECTORY_B
如果使用 .htaccess 不是实现此目的的最佳方法,那么我愿意接受另一种方法。但是,我被限制将代码放入FILE_1.PHP
andFILE_2.PHP
和FILE_1.PHP
... 这就是为什么我要限制对整个DIRECTORY_B
目录的访问。