web-dev-qa-db-fra.com

Quel code d'en-tête HTTP URL-Rewrite renvoie-t-il?

Si j'ai utilisé le module natif URL-Rewrite pour réécrire (et non rediriger) une URL, est-ce qu'il renvoie 302, 301 ou 200? Cette méthode peut-elle être utilisée pour une réécriture permanente d’URL?

Voici un exemple de code pour la redirection:

   <rewrite>
        <rules>
            <rule name="Rewriter" patternSyntax="ExactMatch" stopProcessing="true">
                <match url="foobar" />
                <action type="Rewrite" url="/actual/foobar.aspx" />
            </rule>
        </rules>
    </rewrite>
4
photonacl

Étant donné que la règle ne fait que réécrire l'URL, elle devrait renvoyer un code d'en-tête HTTP "200" standard (en supposant qu'il n'y ait pas d'autres erreurs). Si vous aviez utilisé un type d'action de redirection au lieu de réécrire, vous auriez reçu un code de réponse HTTP 301 ou 302 en fonction de la configuration de la règle. Vous pouvez installer divers outils sur votre client local pour afficher les codes de réponse HTTP renvoyés au navigateur. Un très populaire est Fiddler qui fournit beaucoup de détails de surveillance. Ces types d’outils peuvent être très utiles lors du débogage de règles de réécriture et de redirection.

3
Rob