の要求するとき、私は、次の.htaccessファイルを持っている "認証が必要" 取得しますすべて正常に動作し、認証プロンプトなしでindex.phpが表示されます。しかし、私が "IP-ADDRESS /"を要求するとすぐに、ブラウザは私の資格情報を求めます。は/の代わりに私のサーバー上で/index.php
これはなぜですか?私は何が欠けていますか?
の要求するとき、私は、次の.htaccessファイルを持っている "認証が必要" 取得しますすべて正常に動作し、認証プロンプトなしでindex.phpが表示されます。しかし、私が "IP-ADDRESS /"を要求するとすぐに、ブラウザは私の資格情報を求めます。は/の代わりに私のサーバー上で/index.php
これはなぜですか?私は何が欠けていますか?
<Files>
の代わりに、mod_setenvifを使用してリクエストURIをチェックするようにブロックを交換してください。 mod_auth *モジュールはmod_dirより優先されるため、/
から/index.php
へのマッピングは、authが実行されるまで発生しません。 Mod_setenvifはauthの前に発生します。試してみてください:
SetEnvIf Request_URI "^/$" allow=yes
SetEnvIf Request_URI "^/index.php$" allow=yes
AuthType Basic
AuthName "Password Required"
AuthUserFile /var/www/webinterface/.htpasswd
Options +FollowSymLinks
Order Deny,Allow
Satisfy any
Deny from All
Require valid-user
Allow from env=allow
要求されたURIが正確/
または/index.php
であれば、変数allow
が設定されます。 Auth行の後のものは、変数allow
が設定されている場合、有効なユーザまたは以外のすべてを拒否すると言います。
うわー、私は深く感銘を受けた。それは素晴らしいアンサーでした。ありがとうalot – ftiaronsem
AuthTypeで始まるブロックを
これとは正反対のやり方を理解できますか?パスワード保護のないディレクトリ内のすべてのファイルとサブディレクトリへのアクセスを許可したいのですが、/または/index.phpにパスワード認証を要求したいと考えています。 index.phpファイルをパスワードで保護すると、パスワードなしでアクセスできます。私は上記の答えは、私が上記を逆にして私のケースでうまくいくようにするのに必要なルールを含んでいると思うが、私はSetEnvIfなどを書いても分かりません。 – WilliamAlexander
あなたは文字どおり正確に同じ問題を抱えていて、私と同じようにセットアップしました。どのような偶然の一致 –