簡體   English   中英

設置httpmodule以防止某些頁面出現404

[英]set up httpmodule to prevent 404's for certain pages

我目前正在開發.net c#Web應用程序。 我已經從網站上刪除了幾個.aspx(刪除了它們),例如page1.aspx,page2.aspx等。

我現在想做的是創建一個http模塊,當用戶瀏覽器調用page1.aspx或page2.aspx時,而不是返回404狀態代碼,而是為已刪除的頁面返回適當的狀態代碼,並將用戶重定向到主頁,而不是錯誤頁面。

實現此目的的最佳方法是什么,是否通過http模塊實現,如果可以,我將進行設置嗎?

如果只有幾頁,則可以使用Response.StatusCode = 410和一個簡單的window.location = basepage保留它們。

如果它是一個動態列表,可能會變大,我會將其放在您的應用程序錯誤處理程序中:

protected void Application_Error(Object sender, EventArgs e)
{
    if (/*requesting a deleted resource*/) 
    {
        //return status 410 and a javascript redirect
    }
}

我認為這是最好的方法。 實際上非常簡單。 只需將其放入您的webconfig中即可。

<customErrors mode="On" defaultRedirect="~/TheDefaultErrorPage.aspx"> 
    <error statusCode="404" redirect="The404ErrorPage.aspx"/> 
</customErrors>

然后,如果需要,添加更多錯誤也很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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