(我在 Windows 7(64 位)上使用 Apache/2.4.10)
我的文档根目录中有一个“test”目录,其中包含我本地 apache 上的几个文件:
test
|____.htaccess
|____.htpasswd
|____admin.php
|____install.php
|____crypt.php
|____index.php
我的.htaccess 如下所示...
<Files ~ "^(admin|install|crypt.php)\.php$">
AuthType basic
AuthName "Administration-Script"
AuthUserFile .htpasswd
Require user siteadmin
</Files>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? index\.php
</IfModule>
...我的.htpasswd 如下
siteadmin:$1$JHmM5O1B$4tXjIlyFNdQGWzggoPL2E/
当我打开 localhost/test/admin.php 时,我不断收到 500 错误,我不明白为什么。我认为问题出在 <Files>-Tag 中。基本身份验证配置似乎有误,因为当我删除 <Files>-Tag 中的行时,一切都正常。
我谷歌了一下,但没有找到任何可以让我接近解决方案的东西。
有人能告诉我我是否犯了错误吗?
答案1
在错误日志中查找是关键提示。它告诉我找不到 .htpasswd 文件。我现在输入了 htpasswd 文件的完整路径,现在它可以正常工作了。