簡體   English   中英

自定義403頁面在一個環境下有效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM