htaccess 和 htpasswd 保护根子目录

htaccess and htpasswd protect a root subdirectory

我知道这是一个常见问题,但我不知道该怎么做。

经过多次不成功的尝试,我放弃了几十个教程和 SO 帖子,并决定在这里提出一个新问题。

所以,这就是我所拥有的:

-root
|-subfolder1
|-subfolder2
 |-subfolder1
  |-index.html
  |-somescript.php

现在我只想保护文件夹“subfolder2”及其所有内容。

我设法保护了根目录子文件夹的子文件夹,但没有保护根目录本身的子文件夹。

我完全迷路了。

拜托,有人能帮帮我吗?

如果我理解你的问题,你想禁止访问任何包含 subfolder2 的 URL,如果是这种情况,请尝试将这些规则放入你的 .htaccess 文件中。请确保在测试 URL 之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{REQUEST_URI} subfolder2 [NC]
RewriteRule ^ - [F]

哇!

不需要您的代码。 我所要做的就是清除缓存和 cookie,然后弹出登录提示。就这么简单。 谢谢你的努力!

顺便说一句。这是我到目前为止所做的:

文件及目录结构如下:

-root
...
|-subfolder2
 |-subfolder1
 |-.htaccess
 |-.htpasswd
 |-index.html
 |-script.php

.htaccess 文件:

AuthType Basic
AuthName "Protected Area"
AuthUserFile /users/XYZ/root/subfolder2/.htpasswd
Require valid-user

.htpasswd 文件:

MrX:$blah1blah2blah3.some.encoded.password

已清除浏览器缓存和 cookie。 现在,当我转到 http://XYZ.domain.com/subfolder2 时,会弹出“登录”提示,这就是我所需要的。 此文件夹中没有秘密或易受攻击的数据,我只是不想让机器人和爬虫浏览它。

非常感谢 保持安全,度过美好的新年前夜时光