Microsoft rewriting module - Force www on url Or remove www from url

后端 未结 1 417
囚心锁ツ
囚心锁ツ 2020-12-24 08:46

I have a shared hosting plan with Windows Server 2008 and IIS7.5, and there is Microsoft rewriting module installed and enabled.


    

        
相关标签:
1条回答
  • 2020-12-24 09:14

    To remove the www from a domain and redirect to a "naked domain" you could di it like in the following code snippet:

    <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>
    

    And the other way around (if you prefer that) to redirect a non-www to one with 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>
    

    The redirectType="Permanent" is of course optional but for SEO and most scenarios I would recommend it.

    Please see also these SO questions/answers:

    • IIS7 URL Rewrite - Add "www" prefix
    • Forwarding http://mydomain.com/ctrlr/act/val to http://WWW.mydomain.com/ctrlr/act/val
    • Proper method to remove www from address using IIS URL Rewrite
    0 讨论(0)
提交回复
热议问题