.htaccess代码
AuthType Basic
AuthName "Authentication Required"
AuthUserFile ".htpasswd"
Require valid-user
.htaccess
文件和.htpasswd
文件存在于同一位置,当我访问其询问用户名和密码但页面重定向到Internal Server Error
的网址时。
答案 0 :(得分:2)
AuthUserFile“.htpasswd”
http://httpd.apache.org/docs/2.2/mod/mod_authn_file.html#authuserfile:
“AuthUserFile指令设置文本文件的名称,该文件包含用户身份验证的用户和密码列表。文件路径是用户文件的路径。如果它不是绝对的,则将其视为相对于ServerRoot。“
我很确定你的.htpasswd
文件不直接位于服务器的文件系统根目录下 - 所以从那里给出一个绝对路径。
(如果您不知道服务器根目录的路径是什么,您可以查看PHP的$_SERVER
变量或尝试realpath('.htpasswd')
答案 1 :(得分:1)
您需要在AuthUserFile中提供完整路径。例如:
AuthUserFile "/var/www/DOMAIN/docs/admin/.htpasswd"
所以从$ _SERVER(或任何其他方式)找出确切的Doc Root Path。
答案 2 :(得分:0)
您是否尝试过查看Apache日志?
Internal Server Error
表示Apache认为您的配置出现了问题,很可能会在服务器的/var/log/apache2/error.log
中放入一些日志。
寻找它,你应该对出了什么问题有个很好的了解。
祝你好运。答案 3 :(得分:0)
i dont like to hard code this path
如果是这种情况,请在$ DOCUMENT_ROOT目录中创建.htpasswd
的符号链接,如下所示:
cd "\wamp\bin\apache\Apache2.2.17\"
MKLINK \actual\path\of\.htpasswd .htpasswd