web-dev-qa-db-fra.com

Dans IIS, quelle est la différence entre les règles de réécriture gérées par le module de réécriture d'URL et celles uniquement dans le fichier web.config?

Dans IIS, quelle est la différence entre les règles de réécriture gérées par le module de réécriture d'URL et celles qui ne figurent que dans le fichier web.config et n'apparaissent pas dans le module de réécriture d'URL?

tilisation du module de réécriture d'URL dans IIS 7.5 pour ajouter une règle ...

Je remarque que les règles, quand on regarde le web.config, sont assez lisibles, et elles sont enracinées dans.

En revanche, utiliser des règles de réécriture via web.config non géré par le module de réécriture d'URL ...

ne semblent pas être aussi lisibles (peut-être que ce n'est pas vrai pour tous), et ces règles sont enracinées dans au lieu de.

QUESTION: Quelle est la différence et quels sont les avantages/inconvénients de l’utilisation de chacun? Personnellement, j'aime bien pouvoir utiliser le module IIS car il vous fournit une interface pour tester les règles.

Exemple de règle du module IIS 7.5 Rewrite:

<rewrite>
        <rules>
            <rule name="LowerCaseRule1" stopProcessing="true">
                <match url="[A-Z]" ignoreCase="false" />
                <action type="Redirect" url="{ToLower:{URL}}" />
            </rule>
        </rules>
    </rewrite>

Exemple de règle non gérée par le module IIS 7.5 Rewrite:

<rewriter>
    <rewrite url="^/([0-9]+)/([0-9]+)/.*.aspx$"
     to="~/ContentDisplay.aspx?CID=$1&amp;SID=$2" processing="stop" />
</rewriter>

note: j'ai ajouté un saut de ligne au deuxième exemple de code après ".aspx $"

2
Chris Adragna

De mémoire (j'ai dû faire une recherche il y a quelques années), il s'agit de quelle extension ISAPI gère la redirection - ce que vous voulez, c'est quelque chose qui est exécuté dans le même espace de processus que IIS sinon la redirection peut réellement ralentir ou étouffer le serveur Web en fonction du volume.

Je crois que la méthode que vous décrivez ci-dessus consiste à effectuer la réécriture avec asp.net plutôt qu’à un filtre ISAPI .

J'apprécie que ce ne soit pas la meilleure réponse, j'espère que cela vous orientera dans la bonne direction.

3
toomanyairmiles