http auth basicを使用してディレクトリを保護しようとして~/public_html/dev
いますが、それを安全にするために、ssl上で実行したいと思います。
以下のファイルの中央のセクションは.htaccess
、リクエストURIがで始まり、/dev
機能する場合、httpsに切り替わります。
ファイルの最後のセクションも同様に機能しますが、httpsリダイレクトでは正しく機能しません。
基本的に、http authのユーザー名とパスワードを入力してhttp://www.example.com/dev/some_sub_dir/
リダイレクトし、プロンプトを表示できるようにしたいです。https://www.example.com/dev/some_sub_dir/
現在何が起こっているのかというとhttp://www.example.com/dev/some_sub_dir/
、ポート80でユーザー名とパスワードの入力を求められ、すぐにポート443で再度プロンプトが表示されます。したがって、クレデンシャルは2回送信され、1回はクリアで、もう1回は暗号化されます。httpsのURL全体を少し書き直しても意味がありません。
これを行う理由は、誤ってユーザーを送信したり、httpをパスオーバーしたりできないようにするためです。/dev
ディレクトリへのアクセスには常にhttpsが使用されます。
はディレクトリ.htaccess
にあります。~/public_html/dev
#example.comのルールを書き換える RewriteEngineオン RewriteBase / #httpsで/devを強制する RewriteCond%{HTTPS}!on RewriteCond%{REQUEST_URI} ^ / dev RewriteRule(。*)https://%{HTTP_HOST}%{REQUEST_URI} #認証を行う AuthType Basic AuthName "dev" AuthUserFile /home/matt/public_html/dev/.htpasswd 有効なユーザーが必要