Я пытаюсь запретить доступ ко всему каталогу, если только файл (где бы он ни находился) не возвращает статус 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
, FILE_2.PHP
и FILE_1.PHP
... поэтому я хочу ограничить доступ ко всему каталогу DIRECTORY_B
.