我试图拒绝对整个目录的访问,除非文件(它永远可能)返回200状态。这需要写入我的.htaccess文件。我知道这是无效的.htaccess语法,除了deny from all
部分,我只是展示了我的概念。限制对目录的访问,如果某些页面返回,使用.htaccess 404
if(external-page.php returns anything but 200 header)
{
# deny the current directory
deny from all
}
的外部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(或者真的,或者我可以检查的任何东西),那么我想允许访问DIRECTORY_B
如果使用.htaccess不是最好的方法来实现这一点,那么我打开另一种方法。然而,我被限制在FILE_1.PHP
和FILE_2.PHP
和FILE_1.PHP
......这就是为什么我想限制访问整个DIRECTORY_B
目录的代码。
你想404或200 ...? –
我宁愿检查200状态,但我也可以检查404。任何一个都没问题。 – doitlikejustin
为什么?这有什么用?如果该目录中的文件正在通过脚本进行传输,则您拒绝所有文件都不会帮助您执行任何操作,否则,您实际上拒绝所有用户(包括有效用户)的访问。 – ahmad