IIS 7.5 mit URL-Rewrite-Modul verdoppelt QueryString-Params beim Postback

8

Ich verwende IIS 7.5 unter Windows 7 RC. Ich benutze das IIS Url Rewrite Modul zum Umschreiben von URLs.

Alles scheint gut zu funktionieren, bis ich ein Postback durch Klicken auf eine Schaltfläche ausführe. Dann fügt er die querystring-Parameter an meine umgeschriebene URL an, wie folgt:

Umgeschriebene URL, wie sie im Browser erscheint: Ссылка

Ohne URL-Umschreibung lautet die URL:

Ссылка

Wenn ich auf eine Schaltfläche klicke, um ein Postback durchzuführen, ändert sich die URL wie folgt:

Ссылка

Und wenn die URL neu geschrieben wird, werden alle Querystring-Parameter verdoppelt - also wenn ich die aktuelle Sprache bekommen möchte, indem ich das tue:

%Vor%

Der Wert, den ich zurückbekomme, ist "en, en".

Hat jemand andere diese Probleme?

UPDATE: Regeln aus der Web.Config umschreiben

%Vor%     
MartinHN 10.07.2009, 08:53
quelle

3 Antworten

9

Fügen Sie das Attribut appendQueryString="false" dem Action-Element der Rewrite-Regel hinzu.

Hoffe, das hilft.

    
György Balássy 27.07.2009, 07:06
quelle
11

Ich konnte das Problem lösen, indem ich

hinzufüge %Vor%

zum Ereignis Page_Load. Ich konnte appendQueryString="TRUE" verlassen und bis jetzt funktioniert es richtig.

    
Ryan Sorensen 30.08.2010 20:34
quelle
0

Dies ist eine Sicherheitsfunktion des IIS-Rewrite-Moduls.

Ich persönlich bevorzuge ISAPI Rewrite, da es viel besser ist, Regeln einfacher zu schreiben und mehr Funktionen hat.

Auch bei mittlerer bis hoher Auslastung (über 100 Verbindungen zu einer Website) wurde festgestellt, dass das IIS-Rewrite-Modul den Anwendungspool für den Absturz und den Spawn sowie für den neuen Prozess trainiert.

    
Bruce 16.08.2009 21:06
quelle

Tags und Links