[解決済み】htaccess で https://www にリダイレクトされる。
2022-03-27 09:48:05
質問
以下のようなhtaccessのコードがあります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond !{HTTPS} off
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
にリダイレクトさせたい。
https://www.
を HTTPS で実行します。
www.
のサブドメインになります。
にアクセスすると
http://www.
(HTTPSなし)にリダイレクトされない。
https://www
をHTTPSで表示します。
解決方法は?
最初にHTTPSを強制するためには、正しい環境変数を確認する必要があります。
%{HTTPS} off
しかし、上記のルールでは、その前に
www.
を強制するための2つ目のルールがあるため
www.
は、最初のルールで使用しないでください。
RewriteEngine On
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
プロキシについて
クライアントがプロキシ、ロードバランサー、パッセンジャーアプリケーションなどに HTTPS で接続しているような、いくつかの形式のプロキシの背後にいる場合、そのプロキシは
%{HTTPS}
変数は決して
on
となり、書き換えのループが発生します。これは、クライアントとプロキシ/ロードバランサーがHTTPSを使用しているにもかかわらず、アプリケーションが実際にはプレーンなHTTPトラフィックを受信しているためです。このような場合は
X-Forwarded-Proto
ヘッダーの代わりに
%{HTTPS}
変数を使用します。
この回答は適切な処理を示しています
関連
-
[解決済み】設定ミスの可能性が高いため、リクエストが内部リダイレクトの上限10個を超えた
-
[解決済み] リポジトリからコードをチェックアウトする際の SVN エラー E175002
-
[解決済み] Macでコマンドラインからapacheをアンインストールする方法は?
-
[解決済み] Apache Proxy: 有効なプロトコルハンドラがない
-
[解決済み] XAMPP Apacheが起動しません
-
[解決済み] <IfModule mod_rewrite.c> で毎回 RewriteEngine On?
-
[解決済み] HTMLページからのリダイレクト
-
[解決済み] 汎用htaccessのリダイレクトwwwから非wwwへ
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】htaccess で https://www にリダイレクトされる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】設定ミスの可能性が高いため、リクエストが内部リダイレクトの上限10個を超えた
-
[解決済み] 制御プロセスがエラーコードで終了したため、httpd.serviceのジョブに失敗しました。詳細は "systemctl status httpd.service" および "journalctl -xe" を参照してください。
-
[解決済み] Apacheのエラーです。デフォルトのバーチャルホストがポート443で重複しています。
-
[解決済み] 内部DNSと外部DNSの違い?
-
[解決済み] サーバーの設定によりクライアントが拒否される
-
[解決済み] HTTPDとは何ですか?
-
[解決済み】a2ensiteのSite does not existエラー
-
[解決済み】apacheの非wwwからwwwへのリダイレクト
-
[解決済み】ApacheサーバーでHTTPをHTTPSに自動的にリダイレクトする方法は?
-
[解決済み】ディレクトリブラウジングを無効にする方法は?