Webサイトは、設定によっては「wwwあり」と「wwwなし」の両方で同じページが表示されることがあります。たとえば、www.example.com と example.com の両方で同じ内容が見られる状態です。
一見すると問題なさそうですが、URLが複数存在すると利用者にも検索エンジンにも分かりにくくなります。そのため、.htaccessを使ってどちらか一方に統一しておくのが一般的です。
この記事で分かること
wwwありなしの統一とは、www付きのURLとwwwなしのURLのどちらか一方だけを正式なURLとして使うようにすることです。もう一方へアクセスがあった場合は、正式なURLへ自動的に転送します。
この設定をしておくと、URLが1つにまとまり、ブックマークや共有時にも混乱しにくくなります。検索エンジンに対しても、どちらを正式なURLとして使うのかを明確にできます。
wwwありなしが混在したままだと、次のような問題が起こりやすくなります。
どちらを選ぶべきか
wwwありでもwwwなしでも、どちらが絶対に正しいということはありません。大切なのは、途中で混在させず、どちらか一方に統一して運用することです。
wwwありを正式URLにしたい場合は、.htaccessに次のように記述します。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
この設定では、example.com にアクセスがあった時だけ、www.example.com へ301リダイレクトします。ページのパスもそのまま引き継がれるため、下層ページにも対応できます。
example.com の部分は、ご自身のドメイン名に置き換えてください。
反対に、wwwなしを正式URLにしたい場合は、次のように記述します。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
この設定では、www.example.com にアクセスがあった時だけ、example.com へ301リダイレクトします。
Rewriteの設定は見慣れないと分かりにくいため、役割を簡単に整理しておきます。
301リダイレクトは恒久的な転送です。今後もそのURLを正式なものとして使う場合は、通常301を使います。
wwwありなしの統一は、通常サイト全体に適用する設定です。そのため、公開ディレクトリのルートに .htaccess を置くことが多くなります。
/public_html/.htaccess
すでに .htaccess がある場合は、新しく作るのではなく既存のファイルへ追記します。別のリダイレクト設定がある場合は、順番も確認しながら追加してください。
wwwありなしの統一を行う前に、次の点を確認しておくと安心です。
とくに、https化とwww統一を同時に行う場合は、設定が重なってループしないよう注意が必要です。
wwwありなし統一とhttpからhttpsへの転送を別々に追加すると、設定順によってはリダイレクトループが発生することがあります。元の .htaccess を必ずバックアップしてから作業してください。
設定後に転送されない場合や、何度も読み込みが繰り返される場合は、次の点を見直します。
よくあるのは、example.com の部分を自分のドメインへ置き換え忘れるケースと、他のRewriteRuleとの競合です。既存設定がある場合は、全体の流れを見ながら調整するのが安全です。
WISNET / わいずねっと のレンタルサーバー
用途に合わせて2つのレンタルサーバープランをご用意しています。
.htaccessでwwwありなしを統一しておくと、利用者にも検索エンジンにも分かりやすいサイト構成になります。URLが1つにまとまるため、今後の運用や他のリダイレクト設定の整理もしやすくなります。
ただし、https化の設定や他のRewrite設定と組み合わせる時は、順番や条件を誤るとリダイレクトループが起こることがあります。バックアップを取ったうえで、1つずつ確認しながら設定するのが安心です。