2017-07-19 3 views
1

Ich versuche zu erhalten, was eine sehr einfache URL-Umleitung in IIS 8 mit URL Rewrite arbeiten sollte. Ich brauche diese URL neu zu schreiben:URL Rewrite Redirect Fehler

http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/305

dazu:

http://test.asystyou.com/Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota,-FL-34236/30

Ich habe die Regel mindestens 6 verschiedene Arten geschrieben und sie alle scheitern.

Erste 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> 

Zweite 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> 

dritte 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> 

Vierte 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> 

Fünfte 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> 

Sechste 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="{C:0}/30" appendQueryString="false" /> 
</rule> 

Jeder dieser fehlschlagen. Was vermisse ich?

Antwort

0

Diese Regel wird für Sie Gabel:

<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

Sieger das funktioniert perfekt. Von den sechs Szenarien, die ich oben gepostet habe, ist Nr. 1 am nächsten. Was hat dazu geführt, dass dieses Szenario nicht funktioniert hat? War es, weil ich Domain eingeschlossen habe und es nicht gebraucht habe? oder hatte es etwas damit zu tun, wie ich den Sonderzeichen entkommen konnte? vielleicht, wenn ich verstehen kann, wo ich falsch gelaufen bin, kann ich diese effektiver vorwärts bewegen. – gacto

+0

Das URL-Rewrite vergleicht das Muster in 'match url' mit dem Anfragepfad, ohne den Schrägstrich zu starten. In Ihrem Fall ist der Antragspfad 'Restaurant/Gemacht-Hauptstraße-1990-Main-St-112-Sarasota, -FL-34236/305'. Und Ihr Geschwätz von # 1^^ http: \ // test.asystyou.com \/Restaurant \/Made-Main-Street \/1990-Main-St-112-Sarasota, -FL-34236 \/305 $ 'doesn Keine Streichhölzer mit dieser Saite 'Restaurant/Made-Main-Street/1990-Main-St-112-Sarasota, FL-34236/305' –

+0

ok, das macht Sinn. Danke für die Lösung und für die Erklärung. – gacto