Php Htaccess-Http身份验证-为什么这个块会给我造成500错误?
我一直在阅读一本似乎是很好的教程 我试图使用它作为一个额外的访问网站cms(举行了可访问的网页根) 当used指向cms索引时,我希望使用这种基本的身份验证形式。一旦用户导航到任何部分,我的默认php身份验证系统就会启动,因此某些用户只能访问cms中的某些功能 但我不明白的是,为什么下面的代码块放在我的.htaccess文件中会导致整个网站产生500个错误Php Htaccess-Http身份验证-为什么这个块会给我造成500错误?,php,http,.htaccess,authentication,Php,Http,.htaccess,Authentication,我一直在阅读一本似乎是很好的教程 我试图使用它作为一个额外的访问网站cms(举行了可访问的网页根) 当used指向cms索引时,我希望使用这种基本的身份验证形式。一旦用户导航到任何部分,我的默认php身份验证系统就会启动,因此某些用户只能访问cms中的某些功能 但我不明白的是,为什么下面的代码块放在我的.htaccess文件中会导致整个网站产生500个错误 <Files .login> AuthType Digest AuthNAme "Authentication Required
<Files .login>
AuthType Digest
AuthNAme "Authentication Required"
AuthDigestFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
</Files>
AuthType摘要
AuthNAme“需要身份验证”
AuthDigestFile/usr/home/myDomain/includes/htpasswd/admin/.htdigest
需要有效用户
我尝试了一个使用基本访问特性的类似测试,但作为补充,我认为这种方法会更安全一些。而我使用apache中的htpasswd.exe程序创建了一个.htpasswd文件,可以用来验证基本访问权限。这工作正常,但我不知道如何通过.htaccess文件将这种类型的身份验证应用于cms索引
我已经开始创建一个文件,使用apache的htdigest.exe程序创建一个名为.htdigest的文件
其内容如下:
testUser:需要身份验证:cd7h62051449100elk3c463eae6251f5
现在,通过所有这些设置,我已经按照前面提到的文章中的说明,尝试实现一个实例,用户一旦单击其中带有href属性“.login”的链接,他们就会被定向到我的cms(需要身份验证)。以下是作者的解释:
所以没有.login文件,它只是一个将触发
身份验证,因为访问此URL需要用户
认证的
现在由于某种原因,当我尝试加载我站点上的任何页面时,在.htaccess中有这个块,我得到一个500错误,当我实际应该得到身份验证框时
但这是我感到困惑的原因,因为我假设此块只会在用户使用“.login”href单击链接的情况下起作用
我没有添加进一步的块来在身份验证有效时将用户指向索引页,只是添加了这个块和作者提到的另外两个块
有人能解释引起这种反应的原因吗
myDomain
根据错误日志所述,如果您使用的是Apache2.2.x,请尝试将
AuthDigestFile
更改为AuthUserFile
。根据操作系统的不同,您可能还会遇到文件路径差异;跟踪任何新的错误日志消息 服务器错误日志显示什么?这是windows还是linux服务器?您提到的“htpasswd.exe”听起来像windows,但AuthDigestFile路径看起来像linux路径。此外,如果是linux服务器,文件是否位于正确位置?无效命令“AuthDigestFile”,可能拼写错误或由服务器配置中未包含的模块定义,请参考:http://www.myDomain.com/
@jcmeloni-Meloni,这在日志中很突出?@magic bunnie通过我的主机使用apache服务器,但我自己使用windows,因此引用了exe文件。您好,谢谢您的输入,请查看我在错误日志中的评论。不,它不是字面上的“我的域名”,而是我实际域名的名称。如果没有.comI,我正要发布它,而且AuthDigestProvider文件
可能会有用。谢谢jc,但这不起作用,因为我没有使用基本的身份验证类型,我使用的是如上所述的摘要类型。@dev null居住者请参阅文章作者的引用“如果省略此指令或其值为空,则客户端应假定保护空间由响应服务器上的所有URI组成。”@BlackberryFan我知道;请参阅(这是在2.2中所做的更改)@jcmeloni O我的天哪,我很谦卑:)似乎错误已经消失了,但是需要一些时间来测试身份验证。我可以像
那样使用它吗(注意获取)?谢谢!