Назад | Перейти на главную страницу

Настройте htpasswd для определенного URL

У меня есть файл htpasswd, работает нормально - в моем htaccess есть:

<Limit GET POST>
require valid-user
</Limit>

Что работает, логин / пароль отображается нормально, когда вы достигаете корня веб-сайта. Однако мне нужно ограничить это, чтобы логин / пароль появлялся только тогда, когда пользователь достигает, например, http://mywebsite.com/appear/here/* - так что в основном, когда пользователь достигает /appear/here/* он должен показать ..

Я смотрел на Можно ли использовать htpasswd для ограничения доступа к URL-адресу, а не к определенной папке? - но до сих пор не могу понять ..

Попробовал:

<Files /appear/here/*>
require valid-user
</Files>

<Directory /appear/here/*>
require valid-user
</Directory>

В <Files > Директива будет пытаться сопоставить имя файла, а не путь, ведущий к имени файла. Следовательно <Files > директива с косой чертой недействительна. Часто используется для сопоставления расширения имени файла.

В <Directory > директива для каталогов относительно корня файловой системы. Так ты наверное хочешь <Directory /var/www/docroot/appear/here>.

Поскольку URI не всегда совпадают с путями файловой системы, вам может быть лучше с <Location > директива, поскольку они сопоставляются с URI.

<Location /appear/here>
  require valid-user
</Location>

<Directory> для физического пути к каталогу на вашем сервере; или вы можете использовать <Location>.

Один из них:

<Directory /path/to/webroot/appear/here>
    Require valid-user
</Directory>

Или:

<Location /appear/here>
    Require valid-user
</Location>