ここでの質問から次のコードを抽出しました ( enforce www and Trailing slash with mod_rewrite htaccess on a multi-domain site ) およびapache.orgから直接。
このシナリオは、次の 3 つの要件で構成されています。
- 本番ドメインが常に www で始まることを確認してください。
- www を追加しないでください。beta.domain.tld、dev.domain.tld、mobile.domain.tld へ
- 最後に、すべての URL が https に書き換えられることを確認します。
以下の条件を思いつきました。
# Enforce www, if no subdomain is given
RewriteCond %{HTTP_HOST} !^(beta|dev|mobile|www)\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI}/ [R]
# Enfore SSL for all Domains
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
上記のルールは期待どおりに機能しますが、1 つのケースでは機能しません。
https://domain.tld/がhttps://www.domain.tld/に正しくリダイレクトされない
誰かがこれで私を助けることができますか?