現在、htaccess を使用して、apache2 サーバー上のすべての http 要求を強制的に https に送信しています。https がセットアップされ、正常に動作しています。ベース ドメイン名 (例: ) だけを使用すると、htaccess の書き換えが機能しますが、次のhttp://mydomain.com
ようなことを行うとhttp://mydomain.com/index.php
、許可されていないという 401 エラーが発生します。私のhtaccessは、htpasswdファイルを使用してすべてのコンテンツを許可されたユーザーに制限することにも言及する必要があります。
http -> https の書き換えを使用しないと、その人がログインしている限り、http と https の両方が任意の URL を使用して適切に機能します。ログインしていない場合は、ログインするように求められます。ユーザーにログインを要求し、単に 401 エラー ページを表示します。
これは私のhtaccessファイルです:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
AuthName "Enter Account Info... Or your computer will blow up!!!"
AuthType Basic
AuthUserFile /<censored>/.htpasswd
AuthGroupFile /dev/null
require user <censored>
これらの書き換え行がなければ、すべて正常に動作します。http または https へのリクエストは正常に機能しますが、それ以外に rewrite を使用すると、ベース ドメインがどこかで壊れているようです。
Web で見つけたさまざまな書き換えルールを試してみましたが、すべて同じ結果が得られ、直接のページ リンクではなく、ベース URL に対しては正常に機能します。