【问题标题】:Blocking a sub directory with .htaccess file in Apache在 Apache 中使用 .htaccess 文件阻止子目录
【发布时间】:2015-06-25 03:04:41
【问题描述】:

免责声明:我对 Apache 知之甚少,此处发布的所有信息仅在 1 晚内从 Google 搜索结果中拼凑而成。

--

我似乎无法让 .htaccess 仅阻止我的域的子目录,有人可以帮我吗?

我的根域:http://domain.com (/home/username/domain/)

我要阻止的目录是 /home/username/domain/files/

在/domain/目录下,我已经相应地修改了.htaccess文件:

# Password Protect Directories #
AuthName "You shall not pass!"
AuthType Basic
AuthUserFile /home/username/domain/files.htpasswd
require valid-user
# END Password Protect Directories #

问题是,这似乎用密码保护我的根目录以及指定的子目录。

--

我尝试将此 .htaccess 文件条目移动到 /domain/files/ 目录中的单独 .htaccess 文件中,但这根本不起作用,没有任何密码保护。

我不太确定我应该在这里做什么,我已经阅读了许多在线教程,但除了密码保护我的整个根目录之外似乎没有任何帮助我。

--

有人可以向我解释一下如何只阻止多个子目录吗?

/domain/files/
/domain/software/
/domain/pictures/

等等……

谢谢!

--

或者,如果有人知道实现此目的的更好方法,请随时告诉我。

【问题讨论】:

    标签: apache .htaccess web


    【解决方案1】:

    身份验证真的没什么。您需要将代码放在要保护的子目录中的 .htaccess 文件中。此外,我不会将我的密码文件放在可公开访问的位置。将其放在根目录之外,就像在您的主文件夹中一样。所以这段代码应该放在你的文件夹中。

    # Password Protect Directories #
    AuthName "You shall not pass!"
    AuthType Basic
    AuthUserFile /home/username/.htpasswd
    require valid-user
    # END Password Protect Directories #
    

    确保 apache 可以读取您的 .htpasswd 文件以及正确的所有权和权限。 还可以尝试清除浏览器缓存以进行测试。我已经看到很多次它似乎无法正常工作,直到我清除缓存然后我得到提示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-19
      • 2023-04-01
      • 2015-03-28
      • 2011-09-16
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多