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

What's the equivalent of <location> в .htaccess?</location>

Я настраиваю Trac и хочу защитить паролем страницу входа, как было предложено Вот. Я использую общий хостинг, поэтому я не могу изменить httpd.conf, мне нужно использовать .htacces. Как мне ограничить только страницу входа, не ограничивая другие страницы? Документы Trac предлагают:

<Location "/trac/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /somewhere/trac.htpasswd
  Require valid-user
</Location>

Но тег Location предназначен только для httpd.conf, он не работает в .htaccess. Как добиться такого же эффекта? Нет каталога для входа в систему, в который можно было бы поместить файл .htaccess, он должен находиться в основном каталоге trac.

Это всего лишь предположение, но можете ли вы поместить это в файл .htaccess без <Location> и </Location> теги внутри каталога / trac / login?

Кроме того, убедитесь, что у вас есть htpasswd файл вне корня документа (обычно public_html), иначе он может быть загружен и взломан.

Оказывается, у Dreamhost есть страница по этой самой проблеме. Краткий ответ: нет хорошего способа сделать это через конфигурацию apache, поэтому используйте Плагин TracAccountManager вместо.

В apache 2.4 это можно сделать, изменив директиву allow override в корневом httpd.conf или специально для вашего хоста.

https://httpd.apache.org/docs/2.4/howto/htaccess.html

<Directory "/www/htdocs">
        AllowOverride All
</Directory>

<Location "/trac/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /somewhere/trac.htpasswd
  Require valid-user
</Location>