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

流过昼夜 提交于 2019-12-29 03:29:49

问题


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

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

So, how to redirect mydomain.com/everywhere-in-site/my-page.html to www.mydomain.com/everywhere-in-site/my-page.html with Microsoft rewriting module?

And what if I want to redirect www.mydomain.com/everywhere-in-site/my-page.html to mydomain.com/everywhere-in-site/my-page.html ?


回答1:


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


来源:https://stackoverflow.com/questions/10153670/microsoft-rewriting-module-force-www-on-url-or-remove-www-from-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!