2010-12-14 74 views
2

Je souhaite implémenter des redirections sur un serveur Web IIS7. Fondamentalement, si le sous-domaine n'est pas inclus dans l'URL, je vais rediriger vers le sous-domaine www.Redirection vers www en IIS7 - mode pipeline classique

http://mysite.com/file.aspx redirige vers http://www.mysite.com/file.aspx

http://mysite.com/image.jpg redirige vers http://www.mysite.com/image.jpg

http://mysite.com/text.html redirige vers http://www.mysite.com/text.html

Comment faire cela?

Je ne veux pas écrire de module HTTP - cela doit être fait via la configuration IIS uniquement.

De plus, je dois utiliser le mode Pipeline classique et je ne peux pas installer de plugins ISAPI.

Est-ce possible?

Répondre

0

Cette solution a fonctionné pour moi:

1) Installez le composant Réécrire URL:

http://www.iis.net/download/urlrewrite

2) Ajouter à web.config:

<system.webServer> 
<rewrite> 
    <rules> 
    <rule name="CanonicalHostNameRule1" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
    <add input="{HTTP_HOST}" pattern="^mysite\.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.mysite.com/{R:1}" /> 
    </rule> 
    </rules> 
</rewrite> 
</system.webServer> 
0

Vous pouvez jeter ceci dans votre fichier web.config:

<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="Redirect to WWW" stopProcessing="true"> 
      <match url=".*" /> 
      <conditions> 
      <add input="{HTTP_HOST}" pattern="^http://mysite.com$" /> 
      </conditions> 
      <action type="Redirect" url="http://www.mysite.com/{R:0}" redirectType="Permanent" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 

En IIS7 il peut être fait par la section de réécriture d'URL.

+0

J'ajouté votre code à mon web.config. Il produit une erreur interne du serveur 500. – frankadelic