我有一個在IIS 7中運行的HTTPModule,提供了許多不同的URL重寫服務。IIS7 HTTPModule無法重寫MVC子應用程序的路徑
例如:
public void Init(HttpApplication context)
{
...
HttpContext.Current.RewritePath(landingPage.NewPath,
string.Empty,
landingPage.NewQueryString +
((landingPage.NewQueryString == string.Empty) ? "" : "&") +
queryString);
...
}
我有寫在MVC自己的應用程序池的子應用:http://www.SomeSiteWithURLrewrite.com/SubMVCApplication/
該模塊的偉大工程除了創建爲子應用程序的MVC應用程序之外。
當我發出HTTP請求,將被重寫:http://www.SomeSiteWithURLrewrite.com/Arbitrary/Path/To/Be/Rewritten
我接收HTTP錯誤404.0 - 找不到
404錯誤頁面顯示有一個對「http://www.SomeSiteWithURLrewrite.com/Arbitrary/Path/To/Be/Rewritten」的調用已被重寫爲物理路徑「C:{Root Directory \ SubMVCApplication \「與」StaticFile「的處理程序。
我不知道爲什麼管道不識別「HttpContext.Current.RewritePath」作爲MVC請求。是否因爲MVC應用程序在它自己的應用程序中?
我怎麼能說RewritePath(或類似的東西),並有IIS呈現一個ASP.Net MVC page.in子應用