密码使用.htaccess保护嵌套目录

时间:2015-05-08 16:09:10

标签: apache .htaccess

我有多个目录,如下所示:

root
  - directory 1
  - directory 2
  - directory 3
     - sub directory 1
     - sub directory 2
     - sub directory 3

Root现在使用.htaccess保护,

我要做的是使用不同的用户名/密码保护子目录1,2和3

可以这样做吗?如果是这样的话?

现在我的.htaccess文件位于目录3中,如下所示:

AuthUserFile path/path/path/sub directory 1/ .htpasswd
AuthUserFile path/path/path/sub directory 2/ .htpasswd
AuthUserFile path/path/path/sub directory 3/ .htpasswd

AuthName "Please Log In"
AuthType Basic
require valid-user

然而它不起作用......并且我正在获取内部错误服务器

1 个答案:

答案 0 :(得分:3)

每个子目录中都需要一个单独的htaccess文件,指向特定的htpassword文件。你不能分开哪些子目录使用你的htaccess中的htpasswd文件。

另外,不要在页面中留空格,apache会认为你指的是指令的多个参数。

因此,在每个子目录的htaccess文件中,尝试类似:

AuthUserFile .htpasswd
AuthName "Please Log In"
AuthType Basic
require valid-user

但请注意,将您的密码文件保留在webroot中通常是一个非常糟糕的主意,允许人们下载它。