1. ホーム
  2. .htaccess

[解決済み] .htaccess - 汎用的に "www. "を強制する方法とは?

2022-10-19 04:01:22

質問

これにより domain.comwww.domain.com :

# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

で動作するように、"domain" の部分をどのように置き換えればよいのでしょうか? 任意の ドメインで動作するようにするには?

どのように解決するのですか?

私なら、このルールを使います。

RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

最初の条件では ホスト の値が空でないかどうか (HTTP/1.0 の場合)、2 番目のチェックは ホスト の値が www. 3 番目は HTTPS をチェックします ( %{HTTPS} はどちらか on または off というように %{HTTPS}sons または offs の場合、そして onss がマッチングされる)。の置換部分は RewriteRule の部分は、単に情報の部分を完全な URL に結合します。