2010-01-11 5 views
5

J'ai un site Web fonctionnant sur IIS 7 lié au port 80 avec 2 domaines (pour notre but - example.com & test.com) pointé dessus. Example12 est notre nom canonique donc je voudrais que tout client qui frappe test.com soit redirigé vers example.com.Réécriture d'URL IIS 7 - redirection d'URL ne fonctionnant pas

J'ai essayé d'utiliser le module IIS 7 Rewrite. Cependant, cela ne semble avoir aucun effet. Comment puis-je résoudre des problèmes?

Voici la règle que je mets dans mon web.config.

<rewrite> 
    <rules> 
     <rule name="rule1" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> 
      <match url="*test.com*" /> 
      <action type="Redirect" url="{R:1}example.com{R:2}" /> 
     </rule> 
    </rules> 
</rewrite> 

Répondre

13

Je m'y prenais à tort. Ceci est la façon de le faire:

<rule name="Canonical Host Name" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
    <add input="{HTTP_HOST}" negate="true" pattern="^www\.example\.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" /> 
</rule> 

ref: http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx

+1

Que faire si vous voulez rediriger example.com vers www.example.com et attraper HTTPS et le trafic http avec la même règle? Vous ne voudriez pas rediriger vers "http: // ..." J'ai essayé de remplacer le HTTP_HOST mais cela n'a pas fonctionné. Des idées? –

+0

@ Dr. Zim mais pourquoi voudriez-vous faire cela? Https est pour les connexions sécurisées, comme la connexion et d'autres informations qui devraient être sécurisées. S'il n'a pas besoin d'être sécurisé, utilisez Http. Pourquoi voudriez-vous utiliser les deux quelque part? – Tristan

+0

Une chose qui m'a fait est que je pense que l'entrée à l'évaluation des règles peut changer en fonction de l'endroit où dans votre hiérarchie de site, vous créez la règle. Ainsi, par exemple, si vous avez appliqué votre règle d'origine imbriquée à un niveau, vous pourrez peut-être la faire fonctionner si vous la déplacez sur votre niveau racine/Site Web par défaut. – ossek

Questions connexes