国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net網站的404錯誤頁面的正確設置方法第1/2頁

2024-07-10 13:25:53
字體:
來源:轉載
供稿:網友

什么是404錯誤

HTTP 404 錯誤意味著鏈接指向的網頁不存在,即原始網頁的URL失效,這種情況經常會發生,很難避免,比如說:網頁URL生成規則改變、網頁文件更名或移動位置、導入鏈接拼寫錯誤等,導致原來的URL地址無法訪問;當Web 服務器接到類似請求時,會返回一個404 狀態碼,告訴瀏覽器要請求的資源并不存在。但是,Web服務器默認的404錯誤頁面,無論Apache還是IIS,均十分簡陋、呆板且對用戶不友好,無法給用戶提供必要的信息以獲取更多線索,無疑這會造成用戶的流失。

404頁面的作用

搜索引擎通過HTTP狀態碼來識別網頁的狀態。當搜索引擎獲得了一個錯誤鏈接時,網站應該返回404狀態碼,告訴搜索引擎放棄對該鏈接的索引。而如果返回200或302狀態碼,搜索引擎就會為該鏈接建立索引,這導致大量不同的鏈接指向了相同的網頁內容。結果是,搜索引擎對該網站的信任度大幅降低。

如何檢查自定義404頁面能夠返回“404”狀態碼

在自定義404錯誤頁面設置完畢后,一定要檢查一下其是不是能夠正確地返回“404”狀態碼。檢查的方法也相當簡單,輸入一個網站內不存在網頁的url,查看一下HTTP Header的返回情況,確信其返回的是“404”狀態碼。

404頁面的正確做法

1、Apache服務器404頁面的設置方法

在.htaccess 文件中加入代碼:ErrorDocument 404 /Error.html

建立一個簡單的html404頁面命名 Error.html

把 Error.html放置在網站根目錄即可。

2、IIS/ASP.net下設置404錯誤頁面

首先,修改應用程序根目錄的設置,打開 “web.config” 文件編輯,在其中加入如下內容:

 

 <configuration>
<system.web>
<customErrors mode=”On” defaultRedirect=”error.asp”>
<error statusCode=”404″ redirect=”notfound.asp” />
</customErrors>
</system.web>
</configuration>

 

此例中“error.asp”為系統默認的404頁面,“notfound.asp”為自定義的404頁面,使用時請修改相應文件名。

然后,在自定義的404頁面“notfound.asp”中加入:

 

 <%
Response.Status = “404 Not Found”
%>

 

這樣,便可以保證IIS能夠正確地返回“404”狀態碼

友情提醒

1、一定不要將404錯誤直接轉向到網站首頁,這將可能導致你的網站首頁不被收錄;

2、/Error.html 前面請不要帶主域名(錯誤的寫法:yzznl.cn/error.html,正確的寫法:/error.html),否者返回的狀態碼是302或200狀態碼。




從網上搜索asp.net網站如何自定義404錯誤頁面時,大多數文章都是告訴你在web.config中,找到system.web,配置以下內容即可。

復制代碼 代碼如下:


<customErrors mode="On" error statusCode="404" redirect="/404.htm" >
</customErrors>



實際上這樣做之后,根本就得不到404未找到網頁的網頁頭信息,得到的是302臨時重定向的網頁頭信息。大家可以用 Check Headers Tool 工具查看 HTTP Status Codes就知道了。

那么如何正確配置asp.net網站的自定義404錯誤網頁呢?

首先制作一個404.aspx頁面,然后在web.config文件下的customeErrors中如下配置:
customErrors redirectMode="ResponseRewrite"
error statusCode="404" redirect="~/404.aspx"/
/customErrors

RedirectMode有兩種屬性。
ResponseRedirect是指將用戶重定向到該錯誤頁面,并且原始 URL 更改為該錯誤頁面的 URL。
ResponseRewrite是指將用戶定向到錯誤頁面,并且不更改瀏覽器中的原始 URL。

然后再在404.aspx.cs文件中,為Page_Load事件中加入以下代碼:

復制代碼 代碼如下:


protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}


經過這樣設置之后,HTTP Status Code 才會是 404 Not Found。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金阳县| 泰州市| 巴青县| 海淀区| 本溪| 上犹县| 衡山县| 桓仁| 巧家县| 宣武区| 云浮市| 安宁市| 杭州市| 波密县| 怀化市| 固阳县| 大关县| 沙雅县| 蒙山县| 马公市| 龙江县| 玉田县| 宣化县| 武宁县| 株洲县| 浦县| 凤山县| 江津市| 石渠县| 河源市| 修武县| 郓城县| 山东| 青神县| 静海县| 广灵县| 葵青区| 比如县| 新化县| 双辽市| 开鲁县|