IIS Url Rewrite-Modul: Holen Sie ApplicationPath

9

Ich suche nach einer Möglichkeit, die URL neu zu schreiben, falls der Anwendungspfad in der URL ein anderes Gehäuse hat. Da der Anwendungspfad für verschiedene Bereitstellungen variieren kann, muss ich dynamisch darauf zugreifen. Gibt es eine Möglichkeit, es zu tun?

Hintergrund:

Ich setze den Pfad der Cookies zum Anwendungspfad. Da der Cookie-Pfad die Groß- und Kleinschreibung unterscheidet, muss ich URLs neu schreiben, falls sie falsch eingebunden sind. Ich möchte auch alternative Möglichkeiten haben, die das Verwenden des URL-Umschreibungsmoduls nicht benötigen.

Beispiel

Nehmen wir an, dass für eine Bereitstellung der Alias ​​für die Anwendung "ApplicationA" ist (für eine andere Bereitstellung kann der Alias ​​"ApplicationB" sein).

%Vor%     
Victor Mukherjee 29.01.2016, 09:35
quelle

4 Antworten

0

Nicht sicher, ob REWRITE in Ihrem Fall korrekt ist, vielleicht sollten Sie REDIRECT (permanent) verwenden, aber unten ist eine Regel, die es mir erlaubt, den Anwendungsnamen im konkreten Fall abzurufen:

%Vor%     
Uriil 02.02.2016 10:26
quelle
0

Aktualisiert

Ich schlage vor, dass Sie das Ereignis BeginRequest mit einem HTTPModule abonnieren.

Mit der RewritePath -Methode würden Sie Geschwindigkeit gegen Redirect bekommen, wo Sie die URL einfach anpassen und neu schreiben, wenn das Gehäuse falsch ist, ... oder einfach nur das Gehäuse anpassen, schneller als es zuerst prüfen und Passen Sie dann an (testen und sehen, bevor Sie die Lösung auswählen).

Ein positiver Nebeneffekt ist, dass Sie leicht andere Tests durchführen und Ausnahmen machen können.

%Vor%

Randnotiz:

Ich empfehle immer noch den Kleinbuchstabenpfad an erster Stelle.

    
LGSon 08.02.2016 20:55
quelle
0

Ich denke, ein benutzerdefiniertes HTTP-Modul erstellen und hinzufügen kann Ihr Problem lösen. Ein HTTP-Modul wird bei jeder Anfrage als Reaktion auf die Ereignisse BeginRequest und EndRequest aufgerufen.

Sie können dynamisch auf die URL zugreifen und sie umleiten, indem Sie die Groß- / Kleinschreibung ändern.

%Vor%     
Vignesh Pandi 08.02.2016 14:56
quelle
0

Nur ein Gedanke, wenn man erwägen würde, die Camel-Case-Notation (ApplicationA) zugunsten von forced beispielsweise in Kleinbuchstaben * (applicationa) aufzugeben, könnte man das ToLower-Schlüsselwort wie folgt verwenden:

%Vor%

* Wenn Sie in der URL Ihrer ursprünglichen camelCase-Notation verpflichtet sind, würde ich auf Uriils obige Vorgehensweise verzichten.

    
Jeff Mergler 18.12.2017 20:38
quelle

Tags und Links