サイトの301リダイレクトでURLの正規化についての記事です。
URLの正規化ですが、
www.があるアドレスと
無いアドレスを同じページを表示させている場合に必要なものです。
301リダイレクト と
検索すれば、沢山ページがヒットするのですが
書かれていないことがあったので、
ひたすら調べた結果を書いておかないと忘れそう・・・
と思い書きました~~。
サーバーによっても環境が違うので、使えるかどうかは保証できません。
この記事はロリポップ向けに書いています。
ロリポップやさくらのレンタルサーバーで
一番初めに、ドメインを取り(以降 サブドメインと記載)
その後、独自ドメインを設定するのですが、
その結果、同じページが違うURLで表示可能になります。
これを避けるための方法です。
サブドメインがある場合は、もうひとつ追加すると良い感じになります。
~~~~~
RewriteEngine On
# www無しのURLに統一
RewriteCond %{HTTP_HOST} ^www\.hogemoge\.com
RewriteRule ^(.*) http://hogemoge.com/$1 [R=301,L]
~~~~~
とリンク先の説明には書いてあります。
~独自ドメインのフォルダがある場合~
(フォルダ名 aaa )
Redirect permanent /aaa/ http://hogemoge.com/
を追加して
RewriteEngine On
# www無しのURLに統一
RewriteCond %{HTTP_HOST} ^www\.hogemoge\.com
RewriteRule ^(.*) http://hogemoge.com/$1 [R=301,L]
Redirect permanent /aaa/ http://hogemoge.com/
~独自ドメインのフォルダがない場合~
取得したサブドメインが ▲▲▲.lolipop.jp の場合
RewriteCond %{HTTP_HOST} ^(▲▲▲\.lolipop\.jp)(:80)?
RewriteRule ^(.*)$ http://hogemoge.com/$1 [R=301,L]
を追加して
RewriteEngine On
# www無しのURLに統一
RewriteCond %{HTTP_HOST} ^www\.hogemoge\.com
RewriteRule ^(.*) http://hogemoge.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(▲▲▲\.lolipop\.jp)(:80)?
RewriteRule ^(.*)$ http://hogemoge.com/$1 [R=301,L]
こんな感じです。
実際に設定したら、テストしてみてください。