2017-02-03 9 views
0

Ich habe ein Stück JavaScript-Code, der, wenn ein Benutzer zu Mypage ohne eine Abfragezeichenfolge geht, ich auf die gleiche Seite mit einer bestimmten Abfragezeichenfolge umleiten.IIS URL umleiten auf die gleiche Seite mit anderen Abfragezeichenfolge

Ich dachte, es ist besser, diese mit einem IIS URL Rewrite-Regel zu tun, wie folgt aus:

<rules> 
    <rule name="mypage" stopProcessing="true"> 
    <match url="/mypage/*$" />  
    <action type="Redirect" url="/mypage/?category=shopping" appendQueryString="true" /> 
    </rule> 
</rules> 

Es funktioniert einfach nicht.

Ich habe die Regex mit IIS-Tools getestet und es ist in Ordnung, auch die Rewrite-Regel wird von IIS ausgewählt, so dass dort kein Problem sein sollte. Ich setze appendQueryString für alle Fälle auf true und false. aber es hat in beiden Fällen nicht funktioniert.

Ich habe auch versucht beide "Rewrite" und "Redirect" Aktionstypen, nur für den Fall. Hat nicht funktioniert.

Könnten Sie bitte helfen? Vielen Dank.

+0

Ich möchte die neue Abfragezeichenfolge in der URL sehen, so "Redirect" Aktionstyp ist bevorzugt. –

Antwort

1

Sie müssen den ersten Schrägstrich in der Übereinstimmungs-URL entfernen. Sie müssen auch prüfen, ob die Querystring schon da ist, sonst wird es in eine unendliche Redirect-Schleife gehen. Sie werden dieses Problem nicht haben, wenn Sie neu schreiben

+0

Danke Jeroen. Der erste Schrägstrich ist erforderlich. Ihre Regex kann "www.mysite.com/this-is-mypage" entsprechen, was in meinem Fall nicht erwünscht ist. Können Sie den zweiten Teil Ihrer Antwort präzisieren? Wie kann ich prüfen, ob die Querystring schon da ist? –

+0

Wenn Sie vermeiden möchten, dass "www.mysite.com/this-is-mypage" übereinstimmt, dann müssen Sie ein^verwenden, damit es am Anfang der URL übereinstimmt. Sie können den Querystring als Bedingung hinzufügen und ihn negieren, sodass er mit Ausnahme der Querystring übereinstimmt, um eine Umleitungsschleife zu vermeiden. Ich habe meine ursprüngliche Antwort mit der vollständigen Regel aktualisiert. – Jeroen

+0

Danke, Jeroen! ;-) –

Verwandte Themen