根目录中的 .htaccess

根目录中的 .htaccess

我有一个 apache 网络服务器(共享主机),我可以访问它。/home/user 如果我.htaccess在其中放置一个/home/user,它将应用于所有子目录。属于这个域的域有几个子域链接到这个网络空间的子目录。我想对一些子域使用身份验证,而主页应该是无密码的。例如:

  • 示例.com--> /home/user/mainPage<- 不应要求输入密码
  • sub1.example.com--> /home/user/sub1<- 不应要求输入密码
  • sub1.example.com--> /home/user/sub2<- 密码保护

我知道我可以在 中放置一个 .htaccess 文件/home/user/sub2来实现这一点,但出于各种原因,我不想这样做,而是从 中的“主” .htaccess 文件中控制它/home/user

似乎有效的是以下.htaccess文件:

AuthUserFile /home/user/.passwords
AuthName "Please enter your ID and password"
AuthType Basic
Require valid-user

SetEnvIf HOST "sub2\.example\.com" deny
Order allow,deny
Deny from env=deny
Allow from all
Satisfy any

现在的问题是:这是一种安全可靠的方法吗?或者有什么方法可以在不知道正确的用户名/密码的情况下访问 sub2.example.com?

(可以安全地假设不存在任何/home/user/sub2/.htaccess文件,或者至少不会覆盖身份验证部分。)

我知道使用起来会简单得多<Directory>,但是这在 .htaccess 中是不允许的,只能在 apache conf 中允许,而我无权编辑它。

相关内容