これが変更されます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にマージするだけです。onssRewriteRule
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]