Tomcat 404頁面跳轉

2021-06-18 20:50:27 字數 918 閱讀 3913

某系統改版後,舊版的系統的訪問鏈結已經無效,但有一些路徑已經被搜尋引擎收錄,所以當用舊的鏈結訪問系統時會出現404頁面。

一、在nginx上配置404頁面跳轉。由於修改nginx配置需要聯絡運維幫忙,所以考慮在tomcat裡進行實現。(tomcat我們有許可權操作)

nginx配置404跳轉參考:

二、在tomcat裡實現,實現方式如下:

1)修改對應專案的web-inf/web.xml檔案,在web.xml中加入如下**

404

404redirect.html

2)在404redirect.html中寫入如下**

開始測試,chrome和firefox均符合期望,ie10上測試依然還是404頁面。後來發現ie中有一項設定可以阻止refresh跳轉。

所以將404redirect.html修改為通過js跳轉,如下

經測試,ie10上依然不行,還是404頁面。但通過除錯,發現響應正文部分確實是我的**,卻沒有顯示。

後來通過在google發現ie瀏覽器在返回狀態為404的時候,如果頁面內容長度小於512bytes,它會用瀏覽器自己的錯誤頁面代替我設定的404redirect.html。

好吧,用乙個最愚蠢的辦法騙過最聰明的ie吧,修改後的404redirect.html**如下

body中的內容對使用者沒有任何實際意義,它存在的唯一目的就是讓響應內容長度大於512bytes,

以此騙過「聰明」的ie。

ie瀏覽器在返回狀態為404的時候,如果頁面內容長度小於512bytes,它會用瀏覽器自己的預設錯誤頁面代替響應頁面的內容。

再次進行測試,chrome、firfox、ie均ok。

小議404頁面

一 什麼是404頁面?404頁面是客戶端在瀏覽網頁時,伺服器無法正常提供資訊,或是伺服器無法回應,且不知道原因所返回的頁面。404錯誤資訊通常是在目標頁面被更改或移除,或客戶端輸入頁面位址錯誤後顯示的頁面。完成404頁面的製作,是必要的,展示效果如下 輸入乙個不存在的頁面,如 二 404頁面有什麼作...

Tomcat 404問題詳解

我這裡說的404問題 是可以訪問localhost 8080,但是訪問不了專案的問題。我想應該是沒有的。問題所在 我安裝的 tomcat的時候 總想著自己是固態硬碟 所以就直接選擇c盤安裝了。但是 往c盤進行讀寫的時候都需要管理員許可權 這個時候 如果我們在tomcat下編譯 就不會在tomcat中...

Tomcat 404問題詳解

我這裡說的404問題 是可以訪問localhost 8080,但是訪問不了專案的問題。我想應該是沒有的。問題所在 我安裝的 tomcat的時候 總想著自己是固態硬碟 所以就直接選擇c盤安裝了。但是 往c盤進行讀寫的時候都需要管理員許可權 這個時候 如果我們在tomcat下編譯 就不會在tomcat中...