Как сделать так, чтобы только для одной страницы требовался .htaccess auth?

#.htaccess

#.htaccess

Вопрос:

Вот моя проблема. У меня есть одна страница www.example.com который я не хочу делать общедоступным, поэтому я хочу иметь его за каким-то логином.

Проблема в том, что у меня также есть www.example.com/api который мне нужен, чтобы быть общедоступным.

У вас есть какие-либо идеи, как этого добиться?

С наилучшими пожеланиями, Младжо

Ответ №1:

.htaccess (или <DIRECTORY> директива) применяется к каталогу, в который вы его поместили (.htaccess) или к указанному вами каталогу ( <DIRECTORY> директива), и ко всем подкаталогам ниже этого. Если у вас есть определенный файл, к которому вы хотите контролировать доступ, поместите его в его собственный каталог на один уровень глубже, чем ваш веб-корневой каталог, и примените ограничение доступа только к этому пути и его дочерним каталогам.

Комментарии:

1. Проблема в том, что проект написан на CakePHP, поэтому каждый вызов pages проходит через index.php в webroot.

2. Тогда вашему PHP-скрипту придется выполнять собственную аутентификацию; отслеживать идентифицируемый и уникальный файл cookie, привязывать его к сеансу на стороне сервера. Нет файла cookie или файла cookie, относящегося к клиенту, который не должен быть авторизован, PHP-скрипт должен будет обнаружить это и не отображать страницу.