我有一个 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>