2009-07-13 9 views
3

Wir haben eine ansehnliche Sammlung von Anwendungen (> 50), die alle unter einer einzigen Domäne laufen, aber mit verschiedenen virtuellen Verzeichnissen. Ziemlich normales Zeug. Wir speichern Cookies mithilfe von Pfaden, um Cookies nach Anwendung zu trennen. Pfade werden als Anwendungspfad festgelegt.Cookies. Groß- und Kleinschreibung sensible Pfade. Wie man URLs umschreibt

Dies scheint gut zu funktionieren, solange das Gehäuse der URL dem Anwendungspfad entspricht. Wenn es anders ist, kann der Browser die Sammlung von Cookies nicht abrufen.

Gibt es eine sehr einfache Möglichkeit (ISAPI? Global ASAX?), Alle URLs neu zu schreiben, so dass sie mit dem Anwendungspfad übereinstimmen? Idealerweise ist dies etwas, das auf Anwendungsebene konfiguriert werden kann.

Derzeit auf IIS6 stecken.

dank

+0

dumme Frage sein, aber warum sie übereinstimmen, sind nicht schon ... kann Sie geben mir ein Beispiel für eine URL, die nicht mit Ihren App-Pfaden übereinstimmt. – cdm9002

Antwort

2

Sie fragen sich, ob dies eine möglich ist (auch eine gute) Lösung:

In Global.asax:

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    string url = HttpContext.Current.Request.Url.PathAndQuery; 
    string application = HttpContext.Current.Request.ApplicationPath; 

    if (!url.StartsWith(application)) 
    { 
     HttpContext.Current.Response.Redirect(application + url.Substring(application.Length)); 
    } 
} 
+0

Definitiv die Lösung für unser Problem. – andleer

0

Verwenden Sie relative URLs in Verbindung mit einem BASE Tag funktionieren könnte?

Verwandte Themen