以下為本站文章分類清單

  1. AJAXspacer
  2. ASPspacer
  3. CSSspacer
  4. Javascriptspacer
  5. Windows 應用程式spacer
  6. 網頁設計
  7. 評論、短文、雜文spacer
  8. 版主spacer
  9. 最新回應spacer

以下為本頁本文內容

玩一下 404

1/4 12' icon

404 - 找不到網頁,例如這裡這裡這裡這裡。最基本的訊息內容是「找不到指定的頁面」或「Page Not Find」,預設的顯示訊息,依網頁伺服器不同而有所差別。

如果自己能夠管理及設定網站(例如管理 Apache 或 IIS),那就可以自己來玩玩 404,也就是設計一份自己的 404 頁面,當使用者輸入了錯誤的網址時,就會自動轉向 404 頁面,並顯示內容。

然而,如果僅僅是改改 404 的貢面,例如像這一大圫,那實在沒什麼創意,稍為加工一下,趣味大增。

例如,有在使用 Dropbox 的朋友們,應該都知道,要把檔案分享給其他人,Dropbox 會提供一個縮短網址,像是 http://db.tt/jad920ad,用來取代原本可能是一長串的網址。現在不少網站都提供了這樣的功能。而透過修正 404 頁面,我們也可以自己搞縮短網址服務。

舉個例子說,如果你試圖開啟 http://audi.tw/blahblah,那只會發生兩種情況,一種是禁止瀏覽 (Directory Listing Denied),例如 http://audi.tw/images,另一種則由 404 接手來顯示,而我把 404 改成 Google 搜尋,也就是當你試圖開啟的網址不存在,那就會跳到 Google 去搜尋,例如開啟 http://audi.tw/kit (kit 使用英文,因某些主機對中文的解析可能有問題)

而這之中的關鍵,在於取得主機變數 (Server Variables) 中的 QUERY_STRING,當發生 404 時,主機上的 QUERY_STRING 值 (以 http://audi.tw/kit 為例) 為:

QUERY_STRING=404;http://audi.tw:80/kit

透過字串解析,很容易取得 "kit" 這幾個字,接下來,你想加點什麼功能進去,就由你決定了。以我的 404 來說,IIS 管理,404.asp 寫成

...(略)....
<body onload="document.f.submit();">
<%
p=Request.ServerVariables("QUERY_STRING")
q=MID(p,InStrRev(p,"/")+1,Len(p)-InStrRev(p,"/"))
%>

</form> </body>

有個情況要提醒網友注意:以IIS 404 的啟動,包含所有找不到的內容,也就是說,包括 CSS 檔案中,寫錯背景圖檔檔名、找不到的 Javascript 檔案等,這些在線上操作時,看不出有任何影響的小東西,經過你的 404 處理,會不會造成資源浪費,你可能要實測一下

以下為文章回應區

同意轉載,不過麻煩看一下轉載需知

給個回應
姓名:
佈落格網址:
  如果您是要發問問題, 最好有個問題測試的網址, 這樣比較容易找到您問題所在, 謝謝
內容: