2016年05月22日
このエントリーをはてなブックマークに追加
www ありなしのどちらの場合でも同じページが表示されるように設定しています。まあ当たり前の話ですよね。
しかしその場合では、「異なるURL」として認識されてしまう場合があるようです。

ようするに、DNSでwww の有無で同じサーバーに向けているだけでは、同じコンテンツを表示させるという希望は叶うのですが、SEOやら表記の統一性などから完璧とは言えないようです。

ということで、以下のように設定しました。

■やりたいこと
すべてのアクセスを www なしで処理したい

http://dynamic-one.com/
http://www.dynamic-one.com/

上記どちらのURLでアクセスされても、http://dynamic-one.com/ でコンテンツを表示させたい。
なお、 http://www.dynamic-one.com/archives/51473251.html のように、個別記事へのリンクもwwwなしに統一して同様に処理したい。

■やり方
※このブログはライブドアブログなのですが、今回の記事はwwwの有無を統一する際の一般的な方法である .htaccess を利用する方法について記載します。そのため別途サーバーを用意し、htaccess だけを処理するようにしています。なので、ライブドアブログの場合には、標準機能+DNS設定で可能なので後日の記事にて記載します。


レンタルサーバーなどで .htaccess を用意し、以下の通り記載します
------------------------
RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.dynamic-one\.com)$ [NC]
RewriteRule ^(.*)$ http://dynamic-one.com/$1 [R=301,L]
------------------------
※ mod_rewrite が有効になっていることが前提です。
RewriteCond にある最後の NC は大文字小文字の区別をしない意味です

R=301 については、Rだけの場合は 302リダイレクト 302 Moved Temporaily(一時的なリダイレクト)となるため、恒久的なリダイレクトの301を指定しています。
Lはこの行が処理されたら、以下の行は処理しないことを意味します。最終行ですし特に問題ありません。

参考
wwwというホスト名の有無を統一する(上級者向け)
apache :: Rewrite(mod_rewrite)
mod_rewriteリファレンス:dawgsdk.org


stock_value at 10:04│Comments(0)TrackBack(0)技術:2016年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔