IIS Réécriture d'URL ne fonctionne pas avec la chaîne de requête
Je pensais que c'était assez simple, mais il refuse de travailler. L'ancienne URL est
http://www.site.com/?q=node/17
Il doit rediriger vers http://www.site.com. Je n'ai pas besoin de vous soucier des caractères génériques, c'est le seul paramètre de chaîne de requête j'ai besoin de vous en inquiéter. La règle que j'ai écrit ressemble
<rule name="Node17" patternSyntax="ExactMatch" stopProcessing="true">
<match url="http://www.site.com/?q=node/17" />
<action type="Redirect" url="http://www.site.com" appendQueryString="False" />
</rule>
Je peux tester le modèle à l'intérieur de IIS et elle correspond, mais lorsque je tape l'URL dans un navigateur, il n'est pas redirigé. Toutes les pensées?
OriginalL'auteur MyBrokenGnome | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Comme décrit dans La documentation de Microsoft:
Dans l'URL que vous avez voulu réécrire une redirection, votre
{host} = "www.site.com"
,{path} = ""
et{querystring} = "q=node/17"
. Ainsi, le{path}
partie de l'URL que vous avez voulu redirection est en fait vide, et la règle que vous avez utilisé dans votre question était en correspondance avec lui et n'a pas de match.Votre solution est bien valide, donc je vais le citer ici:
OriginalL'auteur RonyK
Bien sûr, je me suis rendu compte peu après que j'ai posté. De ce fait, pas vraiment sûr de savoir pourquoi la exactmatch ne fonctionnait pas bien.
OriginalL'auteur MyBrokenGnome