0

我有一个索引页面,其中有 3 个页面的链接(都在同一个目录中):file1.html、file2.html、file3.html。

<html>
<body>
<ul>
    <li><a href="file1.htm">file1</a></li>
    <li><a href="file2.htm">file2</a></li>
    <li><a href="file3.htm">file3</a></li>
</ul>
</body>
</html>

我是“.htaccess”和“.htpasswd”的新手,我读过的所有教程都允许1个用户访问一个页面。在我的情况下,我想要相反。我想要1个“.htaccess”文件和1个“ .htpasswd" 文件,它将执行以下操作:

允许用户名:Bob pass:123 仅访问 file1

允许 username:Nick pass:123 仅访问 file2

允许用户名:Randy pass:123 仅访问 file3

没有其他人可以访问这 3 个页面。

有人知道我该怎么做吗?

由于所有 3 个页面都直接相同,我不能只为每个页面创建 3 个“.htaccess”,这让我很困惑。谢谢你。

4

1 回答 1

0

最简单的方法是将这三个文件移动到三个不同的目录中。所以你会有:

<li><a href="file1/index.html">file1</a></li>
<li><a href="file2/index.html">file2</a></li>
<li><a href="file3/index.html">file3</a></li>

然后,您可以轻松地在这三个目录中的每一个中创建一个单独的.htaccess和。.htpasswd

话虽如此,可以使用单个.htaccess文件将限制应用于多个文件。

AuthUserFile /path/to/.htpasswd
AuthName "Example"
AuthType Basic

<Files "page1.html">
  require user bob
</Files>
<Files "page2.html">
  require user nick
</Files>
<Files "page3.html">
  require user randy
</Files>

请注意,您仍然有一个.htpasswd包含 Bob、Nick 和 Randy 凭据的文件。(即使有三个单独的目录,您仍然需要一个.htpasswd,这样您就不会到处追逐凭据。)但是这些<Files>块只允许某些用户访问这三个不同的文件。

于 2013-09-07T13:13:43.803 回答