.htpasswd文件导致服务器错误?

时间:2014-06-06 09:39:02

标签: .htaccess .htpasswd

.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文件夹中?

2 个答案:

答案 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