14

Windows Server 2008 と IIS7.5 で共有ホスティング プランを利用しており、Microsoft 書き換えモジュールがインストールされ、有効になっています。

<rewrite>
    <rules>
        <rule name="myRule" patternSyntax="Wildcard">
            <!--Rewriting code-->
        </rule>
    </rules>
</rewrite>

では、Microsoft 書き換えモジュールを使用して mydomain.com/everywhere-in-site/my-page.html を www.mydomain.com/everywhere-in-site/my-page.html にリダイレクトするにはどうすればよいでしょうか?

www.mydomain.com/everywhere-in-site/my-page.html を mydomain.com/everywhere-in-site/my-page.html にリダイレクトしたい場合はどうすればよいでしょうか?

4

1 に答える 1

37

ドメインから www を削除して「ネイキッド ドメイン」にリダイレクトするには、次のコード スニペットのように変更できます。

<rewrite>
  <rules>
    <rule name="Remove WWW prefix" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.yourdomain\.com$" />
      </conditions>
      <action type="Redirect" url="http://yourdomain.com/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

そして逆に(あなたがそれを好むなら)非wwwをwwwのあるものにリダイレクトする:

<rewrite>
  <rules>
    <rule name="Add WWW prefix" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^yourdomain\.com$" />
      </conditions>
      <action type="Redirect" url="http://www.yourdomain.com/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

これredirectType="Permanent"はもちろんオプションですが、SEO やほとんどのシナリオではお勧めします。

これらの SO の質問/回答も参照してください。

于 2012-04-17T14:25:49.263 に答える