为特定 URL 设置 htpasswd

为特定 URL 设置 htpasswd

我有一个 htpasswd 文件,运行良好 - 在我的 htaccess 中我有:

<Limit GET POST>
require valid-user
</Limit>

这样做是可行的,当您到达网站根目录时,登录名/密码会正常显示。但是我需要对此进行限制,以便登录名/密码仅在用户到达时显示http://mywebsite.com/appear/here/*- 因此基本上当用户到达时/appear/here/*它应该显示..

我看过htpasswd 可以用来限制对 URL 而不是特定文件夹的访问吗?- 但似乎还是无法弄清楚......

试过:

<Files /appear/here/*>
require valid-user
</Files>

<Directory /appear/here/*>
require valid-user
</Directory>

答案1

<Directory>表示服务器上的物理目录路径;或者您可以使用<Location>

其中之一:

<Directory /path/to/webroot/appear/here>
    Require valid-user
</Directory>

或者:

<Location /appear/here>
    Require valid-user
</Location>

答案2

<Files >指令将尝试匹配文件名,而不是文件名的路径。因此,<Files >带有斜杠的指令无效。它通常用于匹配文件名的扩展名。

<Directory >指令用于目录相对于文件系统的根目录. 所以你可能想要<Directory /var/www/docroot/appear/here>

由于 URI 并不总是与文件系统路径匹配,因此您最好使用指令<Location >,因为它们与 URI 匹配。

<Location /appear/here>
  require valid-user
</Location>

相关内容