J'essaie d'obtenir ce qui devrait être une redirection URL très simple fonctionnant dans IIS 8 en utilisant URL Rewrite. Je dois réécrire cette URL:URL Rewrite Redirection erreur
http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/305
à ceci:
http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30
J'ai écrit la règle au moins 6 façons différentes et ils ont tous échoueront.
Première version
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^http:\//test.asystyou.com\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/305$" />
<conditions>
</conditions>
<action type="Redirect" url="http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30" appendQueryString="false" />
</rule>
deuxième version
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^305$" />
<conditions>
<add input="{HTTP_POST}" pattern="^http:\//test.asystyou.com\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/$" />
</conditions>
<action type="Redirect" url="http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30" appendQueryString="false" />
</rule>
Troisième version
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^305$" />
<conditions>
<add input="{HTTP_POST}" pattern="^\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/$" />
</conditions>
<action type="Redirect" url="/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30" appendQueryString="false" />
</rule>
Quatrième version
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^305$" />
<conditions>
<add input="{HTTP_POST}" pattern="^http:\//test.asystyou.com\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/$" />
</conditions>
<action type="Redirect" url="30" appendQueryString="false" />
</rule>
Cinquième version
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^305$" />
<conditions>
<add input="{HTTP_POST}" pattern="^http:\//test.asystyou.com\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/$" />
</conditions>
<action type="Redirect" url="{C:0}/30" appendQueryString="false" />
</rule>
Version Sixième
<rule name="RestaurantDirect" stopProcessing="true">
<match url="^305$" />
<conditions>
<add input="{HTTP_POST}" pattern="^\/Restaurant\/Made-Main-Street\/1990-Main-St-112-Sarasota,-FL-34236\/$" />
</conditions>
<action type="Redirect" url="{C:0}/30" appendQueryString="false" />
</rule>
Chacun d'entre eux échouent. Qu'est-ce que je rate?
vainqueur cela fonctionne parfaitement. Sur les six scénarios que j'ai affichés ci-dessus, le n ° 1 est le plus proche. Qu'est-ce qui a causé ce scénario de ne pas fonctionner? était-ce parce que j'avais inclus le domaine et n'en avais pas besoin? Ou est-ce que cela a quelque chose à voir avec la façon dont j'échappais aux personnages spéciaux? Peut-être que si je peux comprendre où je me trompais, je peux faire ces choses plus efficacement aller de l'avant. – gacto
La réécriture d'URL consiste à comparer le motif à l'intérieur de 'match url' avec le chemin de requête sans commencer par la barre oblique. Dans votre cas, le chemin de demande est 'Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota, -FL-34236/305'. Et votre modèle de # 1 '^ http: \ // test.asystyou.com \/Restaurant \/Made-Main-rue \/1990-Main-St-112-Sarasota, -FL-34236 \/305 $' doesn pas de correspondances avec cette chaîne 'Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota, -FL-34236/305' –
ok cela a du sens. merci pour la solution et pour l'explication. – gacto