0

www.mod_rewrite を使用して確認することと、サイトで確認することについて、ここと他の場所の両方で見つかったいくつかの提案をまとめようとしましhttps://た。私は次の解決策を思いつきましたが、同じ目標を達成するためのより簡潔な方法があるかどうか興味があります.

<VirtualHost *:80>

  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.domain.com$
  RewriteRule ^(.*)$ https://www.domain.com%{REQUEST_URI} [R=301,L]

</VirtualHost>

<VirtualHost *:443>

  RewriteEngine On
  RewriteCond %{HTTPS} on
  RewriteCond %{HTTP_HOST} ^domain.com$
  RewriteRule ^(.*)$ https://www.domain.com%{REQUEST_URI} [R=301,L]

</VirtualHost>

私の現在のユースケースでは、次のケースのみを変更しようとしていることに注意してください。

  • http://domain.com->https://www.domain.com
  • http://www.domain.com->https://www.domain.com
  • https://domain.com->https://www.domain.com

リダイレクトしたくないサブドメインが他にもあるhttps://ため、生のドメインとwwwサブドメインのリクエストのみを一致させようとしています。どんな洞察も大歓迎です。

4

1 に答える 1

1

オールインワン:

RewriteEngine On
RewriteCond %{HTTPS}_%{HTTP_HOST} ^(.*_domain\.com|off_www\.domain\.com)$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
于 2012-10-29T22:51:16.617 に答える