[英]Custom 403 page works one environment and not another
在我的ASP.NET MVC Web應用程序中,我試圖發送帶有404和403響應的自定義錯誤頁面。 我可以使用Global.asax.cs中的以下代碼在本地IIS上執行此操作。 不需要web.config支持。
protected void Application_EndRequest()
{
if (Context.Response.StatusCode == 404)
{
Response.Clear();
var rd = new RouteData();
rd.DataTokens["area"] = "";
rd.Values["controller"] = "Error";
rd.Values["action"] = "NotFound";
IController c = new ErrorController();
c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
}
else if (Context.Response.StatusCode == 403)
{
Response.Clear();
var rd = new RouteData();
rd.DataTokens["area"] = "";
rd.Values["controller"] = "Error";
rd.Values["action"] = "Forbidden";
IController c = new ErrorController();
c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
}
}
但是,當我將其部署到測試環境中時,此相同的代碼不起作用。 在我的測試環境中,我仍然收到403響應,但是看不到我的自定義“禁止”視圖。 我只是從IIS獲取默認的403視圖。 更奇怪的是404視圖可在兩種環境中使用。 我整天都在比較web.config文件和其他IIS設置,以嘗試確定測試環境的不同之處,但沒有運氣。 任何幫助將不勝感激。
您實際上在測試服務器上的該路徑上被禁止(用戶權限,未讀)嗎?
測試服務器運行與開發計算機相同的IIS嗎? 可能是某些服務器端配置更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.