web-dev-qa-db-fra.com

Réécriture d'URL dans IIS 7.5

J'ai un site Web (hébergé sur IIS 7.5) qui contient des liens vers quatre URL. Quelque chose comme:

  1. www.example.com
  2. exemple.com
  3. www.example.net
  4. example.net

Ce que je voudrais accomplir avec URL Rewrite, c’est que:

  1. Si vous naviguez sur www.example.com, le message sera automatiquement redirigé vers example.com (et retournera 301).
  2. Surfer sur example.net sera automatiquement redirigé vers www.example.net (et retournera 301)

J'ai essayé d'utiliser l'URL Rewrite (je n'ai aucune expérience de cette fonctionnalité) avec le IIS MANAGER> FONCTIONS> URL Rewrite> Ajouter une règle> nom de domaine canonique, mais le problème est que je peux alors choisir une adresse de ces quatre, cela entraînera les trois autres à être redirigé vers cela, ce qui n'est pas ce que je dois faire.

Pouvez-vous s'il vous plaît aider et conseiller? La réécriture d'URL est-elle un bon moyen de procéder?

1
Eran

Voici la solution:

Ajoutez les règles suivantes à la configuration Web:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect domain 1">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTP_Host}" pattern="^www\.example\.com$" />
        </conditions>
        <action type="Rewrite" url="http://example.com/{R:1}" />
      </rule>
      <rule name="Redirect domain 2">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTP_Host}" pattern="^example\.net$" />
        </conditions>
        <action type="Redirect" url="http://www.example.net/{R:1}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>
1
Eran