私は以前、少し複雑な.htaccessファイルでここで大きな助けを得ました。
これはマルチサイト/ドメインファイルであり%{HTTP_HOST}
、非wwwをwww.widgets.comアドレスに書き換え/301するために使用します。
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
問題は、RegexFuがNOTwwwのみを検索することです。次に、wwwを追加します。
これは、誰かがmail.widgets.comにリンクしている場合、これがwww.mail.widgets.comにリダイレクトされるため、重複コンテンツの問題を引き起こす可能性があります。
要約する:
私は欲しい:
mail.widgets.com -> www.widgets.com
dogs.widgets.com -> www.widgets.com
www.mail.widgets.com -> www.widgets.com
www.dogs.widgets.com -> www.widgets.com
等
私はさまざまな順列を試しましたが、運が悪かったのです。
RewriteCond %{HTTP_HOST} !^www\.[^\.]+\.com [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
サイコロはありません。ループか他の問題が発生します。
私は単にそうでないものが必要です:
www. (anything but period) .com - > www. (last string before .com) .com
そして粗い標準の:
(anything but period).com -> www. (anything but period).com
誰かが私に手を貸してくれたら、私はそれを大いに感謝します。