Htaccess - Http身份验证 - 为什么这个块会导致500错误?

Cra*_*der 4 php authentication .htaccess http

我一直在阅读基于休息的身份验证似乎是一个很好的教程.

我试图使用它作为访问网站cms的附加功能(由可访问的Web根目录提供).

当使用指向cms索引时,我希望使用这种基本形式的身份验证.一旦用户导航到任何部分,那么我的默认php认证系统将启动,以便某些用户可能只访问cms中的某些功能.

我不明白的是,为什么以下代码块放在我的.htaccess文件中会导致整个网站产生500错误...

<Files .login>
AuthType Digest
AuthNAme "Authentication Required"
AuthDigestFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
</Files>
Run Code Online (Sandbox Code Playgroud)

我已尝试使用基本访问功能进行类似的测试,但决定这种方法更加安全,作为补充.虽然我使用apache的htpasswd.exe程序创建了一个.htpasswd文件,我可以用来验证基本访问.这工作正常,但我无法弄清楚如何通过.htaccess文件将此类型的身份验证应用于cms索引.

我已经开始使用apache中的htdigest.exe程序创建一个文件来创建一个名为.htdigest的文件.

其内容如下:

testUser:Authentication Required:cd7h62051449100elk3c463eae6251f5

现在,通过所有这些设置,我按照上述artice中的说明,尝试实现一个实例,一旦用户点击其中带有href属性".login"的链接,它们就被定向到我的cms(需要auth).这是作者的解释:

因此没有.login文件,它只是一个会触发身份验证的URL,因为访问此URL需要对用户进行身份验证.

现在由于某种原因,当我尝试在我的网站上加载任何页面时,在.htaccess中使用此块,我得到500错误,当我真的应该获得身份验证框?

但这是我很困惑,因为我认为这个块只会在用户点击".login"href链接的实例中产生影响...

我没有添加进一步的块来在身份验证有效时将用户引导到索引页面,只是这个块,以及作者提到的两个附加块.

有人能够解释导致这种反应的原因吗?

小智 6

根据error_log所说的内容,如果您使用的是Apache 2.2.x,请尝试更改AuthDigestFileAuthUserFile.您可能会遇到文件路径差异,具体取决于您的操作系统; 按照任何新的error_log消息.