.htaccess中的<Location>相当于什么?

我正在设置Trac,并想要密码保护login页面,如这里所build议的。 我在共享主机设置,所以我不能修改httpd.conf,我必须使用.htacces。 如何限制login页面而不限制其他页面? Trac文档build议:

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

但是Location标签只适用于httpd.conf,它在.htaccess中不起作用。 我怎样才能得到相同的效果? 没有“login”目录来放置.htaccess文件,它需要进入主trac目录。

这只是一个猜测,但是你可以把它放在.htaccess文件中,减去/ trac / login目录下的<Location></Location>标记吗?

另外,一定要把你的htpasswd文件放在文档根目录之外(通常是public_html),否则它可以被下载和破解。

事实certificate,dreamhost 在这个问题上有一个页面。 简短的回答:没有好办法通过Apacheconfiguration,所以使用TracAccountManager插件 。

在apache 2.4中,可以通过修改根httpd.conf中的allow override指令或专门为您的主机来完成。

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>