百見は、一聞にしかず

見てもわからない事は、とりあえず聞いてみよう。

IIS7でwww有無のURLを統一する

http://www.example.com/ と http://example.com/ が同じに見えるように設定したい場合、apacheの設定方法はネットで良く見ますが、IIS7の方法があまりなかったので記事にしたいと思います。
www有り無しの場合、Googleとしては別サイトと判断されてしまうため、SEO的には統一する方が良いそうです。

 

 

環境

Windows 2008 R2
IIS 7.5

 

wwwあり(www.example.com)に統一する

つまり、wwwが付いていないexample.comにアクセスした際に、wwwを付けるイメージですね。

 

Ⅰ.URL書き換えの設定

IISを起動し対象のサイトを選択します。

 

②URL書き換えをダブルクリックします。
※URL書き換えが無い場合は、こちらからインストールします

Microsoft URL Rewrite Module 2.0 for IIS 7 (x64)

f:id:lbblue:20170303225013p:plain

③規則の追加をクリックします。

 

④空の規則を選択し、OKをクリックします。

 

⑤受信規則の編集で以下のように入力します。
 ・要求されたURL :パターンに一致する
 ・使用      :ワイルドカード
 ・パターン    :http://example.com/*
 ・アクションの種類:書き換え
 ・URLの書き換え :http://www.example.com//{R:1}

f:id:lbblue:20170303225031p:plain

 

Ⅱ.バインドの設定

IISを起動し対象のサイトを選択します。

 

②wwwなしのurlを設定します。(example.com

 

③バインドをクリックし、ホスト名にwwwなしを入力します。

f:id:lbblue:20170303225116p:plain

※下のスクリーンショットみたいにバインドが2つになります。

f:id:lbblue:20170303225245p:plain

 

考察

IISはバージョンが違うと設定方法がガラッと変わっている気がします。
6と7は全く別物かなと思ってしまうほどです。。。
また、今回はWindows Server 2008 R2でしたので、2012や2016でも検証したいと思います。2008はEOSになってしまいますからね。(2018年7月なのでまだ大丈夫ですが。。。)
それよりもCentOS7での設定方法を先に検証します!(たぶん・・・)

 

標準テキストWindows Server 2008 R2 構築・運用・管理パーフェクトガイド

標準テキストWindows Server 2008 R2 構築・運用・管理パーフェクトガイド

 
Windows Server 2008 ネットワーク構築ガイド R2対応

Windows Server 2008 ネットワーク構築ガイド R2対応

 

 

追記

web.configを編集する方法もあります。

<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect001" patternSyntax="Wildcard" stopProcessing="true"> <match url="http://example.com/*" />
<action type="Rewrite" url="http://www.example.com//{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

 以上です!