相当于什么在 .htaccess 中?

相当于什么在 .htaccess 中?

我正在设置 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 目录。

答案1

这只是一个猜测,但是您可以将其放在/trac/login 目录内的.htaccess 文件中(减去<Location>和标签)吗?</Location>

另外,请确保您的htpasswd文件位于文档根目录之外(通常是public_html),否则它可能会被下载和破解。

答案2

事实证明,dreamhost 已经有关此问题的页面。 简短回答:没有好的办法通过 apache 配置来实现,所以使用TracAccountManager 插件反而。

答案3

在 apache 2.4 中,可以通过修改根 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>

相关内容