我試圖拒絕對整個目錄的訪問,除非文件(它永遠可能)返回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