首页 > 解决方案 > 使用根 htaccess 文件中的 htaccess/htpasswd 错误保护目录?

问题描述

我的根目录中有一个 htaccess 文件来添加规则,例如在网站上强制 www 等。

我想保护我网站上的目录,例如 example.com/private/ 和 example.com/private/p/

我在这里是我的 htaccess 文件所在的位置:

/public_html/.htaccess (htaccess file to force www. on my site)
/public_html/private/.htaccess (protect directory code)
/public_html/private/.htpasswd (usernames and passwords for directory)

当我尝试单击指向 /private/ URL 的链接时,我不断收到 401 Unauthorized,有时甚至没有得到密码提示。我已尝试清除缓存,但仍然无法正常工作。

这是我的 /private/.htaccess 代码(保护目录代码)(顺便说一下,我知道我的 AuthUserFile 路径是正确的):

AuthType Basic
AuthName "Members Only"
AuthUserFile /public_html/private/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>

当我删除 /public_html/.htaccess 文件时,登录工作正常。任何人都知道为什么以及如何解决这个问题,以便我可以使用两个 .htaccess 文件?

标签: apache.htaccesspassword-protection.htpasswd

解决方案


尝试将 .htpasswd 的路径(在“AuthUserFile /public_html/private/.htpasswd”行中)更改为文件的完整路径。示例 /home/username/www/public_html/private/.htpasswd


推荐阅读