2012-04-14 18 views
12

Ho un piano di hosting condiviso con Windows Server 2008 e IIS7.5, e c'è il modulo di riscrittura di Microsoft installato e abilitato.Modulo di riscrittura di Microsoft - Forza www su URL o rimuovi www dall'URL

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

Quindi, come per reindirizzare mydomain.com/everywhere-in-site/my-page.html a www.mydomain.com/everywhere-in-site/my-page.html con il modulo Microsoft riscrittura?

E se si desidera reindirizzare www.mydomain.com/everywhere-in-site/my-page.html a mydomain.com/everywhere-in-site/my-page.html?

risposta

32

Per rimuovere il www da un dominio e reindirizzare a un "dominio nudo" si potrebbe di essa come nel seguente frammento di codice:

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

E viceversa (se si preferisce che) per reindirizzare un non-www a uno con 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> 

Il redirectType="Permanent" è naturalmente facoltativa, ma per SEO e maggior parte degli scenari lo consiglio.

Si veda anche questi SO domande/risposte:

+2

Questa risposta incarna come così dovrebbe essere. Grazie Martin. – pimbrouwers

Problemi correlati