1

まだ作業中の特定のファイルを保護されていないアクセスから保護したいので、「_temp」のようなファイル名に識別子を使用し、htaccess によってすべての URL 一致を保護するだけだと推測しました。

これを FileMatch でファイルに使用するのは良いことですが、GET-site-parameter がサブドメインになるように、いくつかの htaccess-lines も既に記述しています。サブドメインはファイルではないため、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? しかし、それは私がやりたいことの反対のようなものであり、トップの例は実際にはうまくいきません(著者がすでに言ったように)。

4

1 に答える 1

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
于 2013-05-17T15:56:34.403 に答える