2017-07-19 4 views
1

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?

Répondre

0

Cette règle à la fourche pour vous:

<rule name="RestaurantDirect" stopProcessing="true"> 
    <match url="Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/305$" /> 
    <action type="Redirect" url="/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30"/> 
</rule> 
+0

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

+0

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' –

+0

ok cela a du sens. merci pour la solution et pour l'explication. – gacto