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