.htaccess文件背后的代码:
AuthType Basic
AuthName "restricted area"
AuthUserFile ".htpasswd"
require valid-user
.htpasswd文件后面的代码:
user121:$apr1$bVI1xobF$2ius9YiPaElsFDjD2DK5/0
我使用正确的凭据登录,这是我每次登录时获得的内容:
Server error!
The server encountered an internal error and was unable to complete your request.
Either the server is overloaded or there was an error in a CGI script.
If you think this is a server error, please contact the webmaster.
Error 500
更新:
Apache错误日志:
[Fri Jun 06 20:42:30.503554 2014] [authn_file:error] [pid 7536:tid 1760] (OS 2)
The system cannot find the file specified. : [client ::1:58747] AH01620: Could
not open password file: C:/xampp/apache/.htpasswd, referer:
http://localhost/manage/articles/
我无法将文件放在我的虚拟主机上的xampp / apache文件夹中?
答案 0 :(得分:2)
错误日志显示您使用了错误的.htpasswd文件路径:
无法打开密码文件:C:/xampp/apache/.htpasswd
它告诉你它不在C:/ xampp / apache中。确保在.htaccess文件中使用正确的路径。例如。如果.htpasswd位于C:/xampp/apache/htdocs/myproject/.htpasswd下,请将其设置为。
AuthUserFile C:/xampp/apache/htdocs/myproject/.htpasswd
(尽管将.htpasswd放在你的htdocs / httpdocs中是不的最佳做法,但我只是以这条路径为例。)
如果您确定路径是正确的,因为您似乎在安装Windows,请确保该文件实际上名为.htpasswd。 Windows无法从资源管理器执行此操作(它禁止创建"仅扩展名"文件),您必须从基于命令行的工具执行此操作。如果您在记事本等中创建了.htpasswd,该文件现在很可能实际上被称为.htpasswd.txt,请使用命令行将其重命名为.htpasswd:
C:\> cd C:\xampp\apache
C:\xampp\apache> move .htpasswd.txt .htpasswd
答案 1 :(得分:0)
我正在使用Mac,这对我有用:
/Applications/XAMPP/xamppfiles/bin/htpasswd -cb /Applications/XAMPP/xamppfiles/.htpasswd admin password