我正在使用apache运行最新的ubuntu。
我有一个非常简单的html目录,我想用.htaccess
来保护它。
我正在尝试使用
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/dev/docs/.htpasswd
Require valid-user
在我的.htpasswd
文件上,我有:
user:pass
我收到内部服务器错误。我一直在努力挖掘,但不确定为什么会发生这种情况。
如果我添加一个this:
<Directory "/var/www/dev/docs">
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/dev/docs/.htpasswd
Require valid-user
</Directory>
无论我做什么都无法登录…
谢谢,
我也有同样的问题。但经过几次尝试和错误,以下是解决方法。
- 您必须使用.htpasswd文件的完整路径
- 必须用引号"home/username/public_html/subfolder/protected/.htpasswd"封装路径
一个例子:
AuthUserFile "/home/username/public_html/subfolder/protected/.htpasswd"
AuthType Basic
AuthName "My restricted Area"
Require valid-user
错误#500只是意味着web服务器不理解.htaccess文件中的某些内容。Apache的错误日志中不会有任何内容,因为此时甚至没有解析请求。
试着在.htpasswd文件的路径周围加引号,并注意一些托管公司,如咳嗽。。godaddy,1&1可能需要几分钟时间才能获取.htaccess中的更改。
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/home/. . . . ./.htpasswd"
require valid-user
我在Apache/2.4.6(CentOS)上也遇到了同样的情况
-
htpasswd的路径需要从
$_SERVER['DOCUMENT_ROOT']
获取 -
Apache有一些错误(https://bz.apache.org/bugzilla/show_bug.cgi?id=54735),您需要从控制台设置密码,如下所示:
htpasswd -nb username newpassw > <path-to>/.htpasswd
Apache 2.4.6中的btw在CentOS 7上的问题仍然存在