XAMPP/Apache 文件夹中的 .htaccess 未找到错误 404
Posted
技术标签:
【中文标题】XAMPP/Apache 文件夹中的 .htaccess 未找到错误 404【英文标题】:Error 404 not found with .htaccess in folder on XAMPP/Apache 【发布时间】: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]
【问题讨论】:
【参考方案1】:我找到了自己的答案:
AuthName "Authorisation Required"
AuthUserFile "\WEB\TEST\keys\.htpasswd"
AuthType Basic
require valid-user
ErrorDocument 401 "Authorisation Required" <-- ADD THIS LINE
Apache 对此进行了一些更改,并且指定 401 错误文档是必要的,因为 Apache 在使用 .htpasswd
时正在寻找它。
【讨论】:
以上是关于XAMPP/Apache 文件夹中的 .htaccess 未找到错误 404的主要内容,如果未能解决你的问题,请参考以下文章
使用 htdocs 下的子目录在 XAMPP/apache 2.2 中的 localhost 上打开 HTML 文件 [重复]
Xampp - Apache 意外关闭、空日志文件且没有事件
XAMPP Apache 无法在 Ubuntu 20.04.3 LTS 上运行