【发布时间】:2016-05-17 16:45:40
【问题描述】:
我有一个在 Windows Server 2003 上运行的带有 XAMPP (Apache/PHP/MySQL) 的测试服务器。
我总是毫无问题地使用 .htaccess 和 .htpasswd 文件。在我正在处理的网站上,当我尝试打开受 .htaccess 保护的目录中的任何文件时,我收到 ERROR 404(是!不是 403),如下所示:
<Files .htaccess>
order allow,deny
deny from all
</Files>
AuthName "Area riservata"
AuthUserFile \WEB\TEST\keys\.htpasswd
AuthType Basic
require valid-user
我将.htpasswd 目录更改为与.htaccess (\WEB\TEST\public_html\admin\.htaccess) 文件相同的目录,但没有成功!
如果我删除该文件,一切正常:apache 日志和错误日志什么也没说。
问题/错误在哪里?
编辑
在我的DOCUMENT_ROOT (\WEB\TEST\public_html\) 我有这个.htaccess 文件。
我发现在评论最后一行时(如下 - 对于非文件和符号链接,没有重定向到 index.php)我的问题消失了。我不明白为什么!
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(it|de|fr|en)/(.*)$ [NC]
RewriteCond %{DOCUMENT_ROOT}/multi_html/%2 -s
RewriteRule ^(it|de|fr|en)/(.*)$ /multi_html/$2?lingua=$1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-s
#RewriteRule . index.php [NC,L]
【问题讨论】:
标签: apache .htaccess xampp http-status-code-404 .htpasswd