2009-12-02 36 views
0

当我使用.htaccess文件名为admin用下面的代码服务器错误,当我使用,为什么会出现此错误消息的.htaccess

AuthName "Alertme" 
AuthType Basic 
AuthUserFile /mobs/.htpasswd 
require valid-user 

和htpasswd文件与下面的代码

rajasekar:66Acdia7gE1to 
文件夹中

当访问文件夹内的文件,它给服务器错误,服务器遇到一个内部错误,无法完成您的请求

为什么会发生这种情况。帮我

+1

你的'AuthUserFile'路径有意'/ mobs/.htpasswd'?如果你试图在终端上“追赶”那条路,会发生什么? – 2009-12-02 13:16:11

+0

Im使用apache – Rajasekar 2009-12-02 13:20:03

+0

我会重复一下Dominic试图说的话,因为你似乎没有理解。 /mobs/.htpasswd意味着这个位置来自根目录,因为前面的斜杠是前导的。你的意思是?如果没有,那么.htpasswd文件的完整路径是什么? – 2009-12-02 13:57:52

回答

1

确保/mobs/.htpasswd是绝对的(而不是相对于你的根目录)路径文件系统

0

这通常发生在你的htaccess的和/或htpasswd的文件不能被Apache读取。因为用户apache正在运行下没有这些文件所需的权限。

6

很可能您的Apache配置现在允许在该目录和/或位置的.htaccess中使用Auth *指令。您可以检查为什么查看该主机的error_log。未来将有一条线,看起来像:

[Wed Dec 02 22:13:14 2009] [alert] [client x.x.x.x] /path/leading/to/.htaccess: AuthName not allowed here 

这个错误,就会显示为任何客户端试图访问特定的服务器/目录下的“500内部服务器”的错误。

您需要添加一个“AllowOverride AuthConfig”,这样Apache才会接受.htaccess中的Auth指令。在Apache文档中的详细信息是here

+0

同意。有了Apache错误,最好检查一下你的日志文件,看看Apache说错了什么。 – 2010-01-29 15:01:14