2009-07-13 94 views
3

我们拥有大量的应用程序(> 50),它们都在单个域下运行,但具有不同的虚拟目录。相当标准的东西。我们使用路径存储Cookie以通过应用程序隔离Cookie。路径被设置为应用程序路径。饼干。区分大小写的路径。如何重写URL

只要URL的外壳与应用程序路径相同,这似乎工作正常。如果不同,浏览器将无法检索到Cookie的集合。

是否有任何非常基本的方式(ISAPI?全球ASAX?)重写所有URL以便它们匹配应用程序路径?理想情况下,这可以在应用程序级配置。

目前卡在IIS6上。

感谢

+0

可能是愚蠢的问题,但他们为什么不匹配已经......可以你给我一个与你的应用程序路径不匹配的url的例子。 – cdm9002 2009-07-14 17:44:35

回答

2

想知道这是否是可能的(甚至是一个很好的)解决方案:

在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

明确地解决我们的问题。 – andleer 2009-07-14 21:39:06

0

使用相对URL与BASE标签结合可能会奏效?