我目前正在處理.net c#web應用程序。我已經從網站中刪除了幾個.aspx(刪除它們),例如page1.aspx,page2.aspx等。設置httpmodule,以防止某些網頁的404's
我現在想要做的是創建一個http模塊,當調用page1.aspx或page2.aspx時通過用戶瀏覽器,而不是返回404狀態碼,返回已刪除頁面的適當狀態碼並將用戶重定向到主頁,而不是錯誤頁面。
實現這一目標的最好方法是通過http模塊實現,如果是這樣,我會設置這樣的嗎?
我目前正在處理.net c#web應用程序。我已經從網站中刪除了幾個.aspx(刪除它們),例如page1.aspx,page2.aspx等。設置httpmodule,以防止某些網頁的404's
我現在想要做的是創建一個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>
然後,如果你想要添加更多的錯誤也很容易。