Question

Je dois rediriger un "faux" sous-domaine vers un vrai sous-domaine dans IIS 7.5.La raison en est que le service marketing ne souhaite pas utiliser l’adresse réelle du site Web dans les documents imprimés.

URL réelle du site :

reporting.usapartners.com

Le service marketing veutreport.usapartners.com (faux) à rediriger vers reporting.usapartners.com (réel)

Encore une fois, report.usapartners.com n'existe pas, seul reporting.usapartners.com existe

Voici ce que j'ai essayé

J'ai ajouté une liaison dans IIS, pour le site reporting.usapartners.com.J'ai ajouté report.usapartners.com comme nom d'hôte et utilisé l'adresse IP reporting.usapartners.com

Ensuite, je suis allé sur reporting.usapartners.com web.config et j'ai ajouté ceci :

<rewrite>
    <rules>
        <rule name="report" stopProcessing="true">
          <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="report.usapartners.com" negate="false" />
          </conditions>
          <action type="Redirect" url="http://reporting.usapartners.com" appendQueryString="false" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

On dirait que ma solution crée un alias vers lequel ne peut pas être redirigé.

Est-ce que j'aborde ce problème correctement ?On dirait que cela devrait être un problème simple à résoudre, mais peut-être pas ?Toutes les idées sont les bienvenues et appréciées.

Merci

Était-ce utile?

La solution

Je pense que vous devez créer un site distinct avec des liaisons d'hôte pour report.usapartners.com (le faux site) dans IIS.Ce sera un site stub (il aura toujours besoin d'un chemin sur le disque, mais il n'aura qu'un web.config là-dedans) qui hébergera simplement une règle de redirection.

Cliquez maintenant sur HTTP Redirect pour ce site dans IIS et cochez Redirect requests to this destination et met http://reporting.usapartners.com dans la zone de texte.Puis cochez Redirect all requests to exact destination (instead of relative to destination), ne cochez pas la suivante puis choisissez Status Code Permanent (301).

Si vous souhaitez qu'il redirige et conserve les sous-répertoires et/ou la chaîne de requête, vous pouvez modifier le contenu de la zone de texte pour qu'il soit http://reporting.usapartners.com$S$Q.Notez qu’il n’y a pas de barre oblique finale dans ce cas.Le $S préserve les sous-répertoires et le $Q préserve la chaîne de requête.

Autres conseils

Votre règle provoque une boucle de redirection.

Observez quelle est votre règle:

  • correspond à n'importe quelle URL donnée (ceci inclut "/" / "," / quelque chose "," /something/another.html ", etc.)
  • Si le nom d'hôte n'est pas "Report.USApartners.com"
  • Rediriger définitivement la demande de " http://reporting.usapartners.com "

Donc, comme vous le voyez, dès que l'utilisateur est redirigé vers le sous-domaine déclarant, il est redirigé à nouveau pour rapporter, car l'hôte Nom n'est pas "Report.usapartners.com".

La clé Voici l'attribut negate="true" sur la condition de règle. Supprimez-le ou définissez-le sur FALSE et vous êtes prêt à partir.

EDIT:

Vous êtes presque là.

La solution réelle consisterait à modifier le nom d'hôte sur la règle à l'hôte souhaité, en gardant la négation vraie, alors votre règle ferait:

  • correspond à n'importe quelle URL donnée (ceci inclut "/" / "," / quelque chose "," /something/another.html ", etc.)
  • Si le nom d'hôte n'est pas "reporting.usapartners.com"
  • Rediriger définitivement la demande de " http://reporting.usapartners.com "

code:

...
<add input="{HTTP_HOST}" pattern="reporting.usapartners.com" negate="true" />
...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top