rediriger un sous-dossier de sous-domaine/sous-dossier à l'aide de IIS Réécriture d'URL

Je suis à la recherche à l'aide de IIS Module de Réécriture d'2.0 pour réorienter une partie de l'application défectueuse de liens.

Précédemment www.mydomain.com a été le site de l'entreprise et www.mydomain.com/application1, www.mydomain.com/application2 autres applications de nos clients ont utilisé. Ils étaient tous sur le même serveur.

Maintenant nous avons notre site de l'entreprise mis à jour et déplacé vers un autre serveur. Donc www.mydomain.com et mydomain.com résoudre à un autre serveur. Dans le cadre de ce travail, un sous-domaine de app.mydomain.com a été créé à la maison de la des applications pour les clients résidant encore sur notre serveur.

Ce que je veux être en mesure de faire est d'installer le module de réécriture sur le nouveau site de l'entreprise et les serveurs de redirection www.mydomain/application1 ou mydomain.com/application1 pour app.mydomain.com/application1.

J'ai la liste des applications, donc peut-être l'aide d'un rewriteMap est le chemin à parcourir? Pour prévenir toute redirige comme www.mydomain.com/newcorporateurl à tort redirigés. J'ai également besoin de conserver les sous-dossiers et querystrings (à cause de gens ayant les signets du navigateur) comme www.mydomain.com/application1/index.aspx?id=1 doit aller à l'app.mydomain.com/application1/index.aspx?id=1

Toute aide d'assembler tout cela serait super! Même juste avoir une config de base triés afin que je puisse avoir un jouer avec elle et de le comprendre un peu plus. J'ai été la navigation sur d'autres questions et de ressources, mais je suis toujours aux prises comment mettre cela ensemble

Mise à jour de 1

Ci-dessous ne fonctionne pas, mais j'espère qu'il montre ce que je suis en train de faire.
J'ai environ 15 ou applications j'ai besoin de rediriger de cette façon.

<rewrite>
    <rules>
        <rule name="application1 rule" stopProcessing="true">
            <match url="(www\.)?mydomain\.com(:80)?/application1/?" />
            <action type="Redirect" url="app.mydomain.com/application1/" appendQueryString="false" />
        </rule>
        <rule name="application2 rule" stopProcessing="true">
            <match url="(www\.)?mydomain\.com(:80)?/application2/?" />
            <action type="Redirect" url="app.mydomain.com/application2/" appendQueryString="false" />
        </rule>
    </rules>
</rewrite>

Mise à jour 2

J'ai ce travail à une mesure

<rewrite>
    <rules>
        <clear />
        <rule name="application1 rule" stopProcessing="true">
            <match url="application1(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="mydomain.com" />
            </conditions>
            <action type="Redirect" url="http://app.mydomain.com/application1{R:1}" />
        </rule>
    </rules>
</rewrite>

Ce sera rediriger

www.mydomain.com/application1 -> app.mydomain.com/application1
www.mydomain.com/application1/index.aspx -> app.mydomain.com/application1/index.aspx

Le problème que je veux résoudre maintenant, est-ce.

Le nouveau site à www.mydomain.com est un CMS. Avec la règle ci-dessus, cela signifie que le CMS ne peut pas contenir 'application1" dans l'URI.

L'exemple du monde réel est "commercial"

Quelqu'un peut s'il vous plaît aider raffinage mes règle donc la suite est vrai

www.mydomain.com/commercial -> app.mydomain.com/commercial
www.mydomain.com/commercial/foo/index.aspx -> app.mydomain.com/foo/index.aspx

www.mydomain.com/tv-commercials/list -> www.mydomain.com/tv-commercials/list
www.mydomain.com/commercial-property/list -> www.mydomain.com/commercial-property/list

Combien de demandes avez-vous? Tout modèle ici? (comme le début avec app) Avez-vous essayé quelque chose de si loin?
J'ai mis à jour la question à mon point de départ. Il ne fonctionne pas mais j'espère que montre ce que je suis en train de réaliser

OriginalL'auteur Matt Demler | 2013-10-09