0

現在、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 に対しては正常に機能します。

4

1 に答える 1

0

私は同様の問題を抱えていましたが、これが私にとってはうまくいきました。

httpd.conf の仮想ホストの下に、次の両方があることを確認します。

サーバー名 domain.com

サーバーエイリアス www.domain.com

VirtualHost *:80 および VirtualHost *:443 の両方

于 2013-12-02T03:43:48.827 に答える