我想要保护我正在进行无保护访问的某些文件,所以我猜,我只是在文件名中使用一个标识符,如“_temp”,并通过htaccess保护所有url-matches。
将这与FileMatch用于文件很好,但我也写了一些htaccess行,所以GET-site-parameter成为子域。而子域名不是文件,因此没有FileMatch。另外我注意到,_似乎对子域名无效^^所以“。 temp。”应该足够......
然后我使用了SetEnvIf,但它在任何情况下都不保护任何东西或一切。 你能告诉我我做错了吗?
SetEnvIf HOST .*temp.* notallowed
SetEnvIf Request_URI .*temp.* notallowed
AuthType Basic
AuthName "Under construction"
AuthUserFile /home/auth/.htpasswd
AuthGroupFile /home/auth/.htgroup
Order Deny,Allow
Satisfy any
Deny from env=notallowed
Require user qwerty
Allow from all
这应该在huitemp.mysite.de,hui.mysite.de / huitemp.php和hui.mysite.de/?site=huitemp上给我一个密码提示,但不是在hui.mysite.de上。
PS,我也发现了这篇文章: Password protect a cname subdomain with .htaccess? 但这与我想做的事情恰恰相反,顶级例子并不适合我(正如作者已经说过的那样)。
答案 0 :(得分:1)
首先尝试拒绝,然后允许来自!notallowed:
SetEnvIf HOST .*temp.* notallowed=true
SetEnvIf Request_URI .*temp.* notallowed=true
AuthType Basic
AuthName "Under construction"
AuthUserFile /home/auth/.htpasswd
AuthGroupFile /home/auth/.htgroup
Order Deny,Allow
Deny from all
Satisfy any
Require user qwerty
Allow from env=!notallowed