これが変更されますdomain.com
にwww.domain.com
:
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
これがどのドメインでも機能するように「ドメイン」の部分を置き換えるにはどうすればよいですか?
これが変更されますdomain.com
にwww.domain.com
:
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
これがどのドメインでも機能するように「ドメイン」の部分を置き換えるにはどうすればよいですか?
回答:
私はこのルールを使用します:
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]
最初の条件は、Host値が空でないかどうかをチェックします(HTTP / 1.0の場合)。2番目は、Host値がで始まらないかどうかをチェックしwww.
ます。HTTPS用の第三のチェック(%{HTTPS}
のいずれかであるon
か、off
そう、%{HTTPS}s
のいずれかであるons
か、offs
の場合に一致しています)。then の置換部分は、情報部分を完全なURLにマージするだけです。ons
s
RewriteRule
RewriteEngine On
そのままコピーして貼り付けた場合、500サーバーエラーが発生する可能性があるため、最初の行として追加します。
www以外のすべてのリクエストをwwwバージョンにリダイレクトする場合は、.htaccessファイルに次のコードを追加するだけです。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
これはサブドメインでは機能しません。
domain.comは正しくwww.domain.comにリダイレクトされます
だが
images.domain.comはwww.images.domain.comにリダイレクトされます
サブドメインが「wwwでない」かどうかを確認する代わりに、2つのドットがあるかどうかを確認します。
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\.(.*)\. [NC]
(厳密に言えば、TLDはまだ.uk
あり、ドメインはsomething.co
。)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
これにより、サブドメインの除外にリダイレクトさexample.com
れwww.example.com
ます。
これは魔法のように機能しました
RewriteCond%{HTTP_HOST} ^ sitename.com [NC] RewriteRule ^(。*)$ https://www.sitename.com/ $ 1 [L、R = 301、NC]
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]