【问题标题】:Error 404 not found with .htaccess in folder on XAMPP/ApacheXAMPP/Apache 文件夹中的 .htaccess 未找到错误 404
【发布时间】: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


    【解决方案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 时正在寻找它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-27
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 2014-08-11
      • 2014-08-19
      相关资源
      最近更新 更多