0
對於傳統reasons我們的網址,在他們「第」,像這樣:製作MVC處理包含點(。第)網址
/controller.page/action
我們已經重新改寫應用程序,因此URL是沒有這種格式更長,我們需要301重定向他們,這需要在代碼中發生。新的應用程序是一個MVC 3 & .net 4並且是IIS 7託管的。
問題是,IIS在url中看到.page,然後尋找這個擴展的處理程序找不到它,然後返回一個404.0,而不是把請求也交給.net,然後我們可以預先執行重定向。
有關如何解決此問題的任何想法?
我試着在web.config中添加此處理程序:
<add name="LegacyMVC" path="*.page" verb="*"
type="System.Web.Mvc.MvcHttpHandler" preCondition="integratedMode" />
但我得到這個錯誤:
System.NotSupportedException: Specified method is not supported.
at System.Web.Routing.StopRoutingHandler.GetHttpHandler(RequestContext requestContext)
at System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContextBase httpContext)
at System.Web.Mvc.MvcHttpHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)