404 Not Found 錯誤表示伺服器無法找到所要求的資源。對於瀏覽器來說,這意味著該 URL 無法識別。
404 請求會讓使用者感到沮喪,並可能導致網站效能不佳。此外,搜尋引擎會抓取不存在的頁面並將其編入索引,因此,網站的排名會受到負面影響。總而言之,我們可以透過一些方法來避免搜尋無法存取的請求。
1。定期檢查連結
這看起來似乎微不足道,但 404 錯誤的最常見原因是頁面已被移動或刪除以及 URL 鍵入不正確。因此,您可以使用Google Search Console 和Screaming Frog SEO Spider 等免費工具來驗證損壞的連結和Soft 404s(仍然返回200 成功狀態的不存在資源).
2。驗證 URL
在發出請求之前,請先驗證 URL 是否正確。雖然這不能保證所要求的資源不存在,但它可以防止明顯的錯誤。為了驗證 URL,有 Javascript 的 URL 介面。在這裡您可以驗證請求檔案的 URL、協定、網域或副檔名的結構。
您也可以在使用 HEAD 方法發出 GET 請求之前檢查資源是否存在。
async function fileExists(url) { try { const response = await fetch(url, { method: 'HEAD' }); return response.ok; } catch (error) { console.error('Error verifying the existence of the file:', error); return false; } } fileExists('https://example.com/file.jpg').then(exists => { if (exists) { console.log('File exists.'); } else { console.log('File not found.'); } });
3。評估網站的限制
不要忘記檢查 HTML、CSS、JavaScript 檔案和其他資源是否具有使用者正確的讀取和執行權限。請同時檢查 Web 伺服器設定中是否存在可能阻止存取某些文件或目錄的不當存取限制。
如果配置不正確,AllowOverride 和 Require all grant 等設定可能會導致問題。
4。清除快取
快取儲存網站資源的副本,以便當您再次造訪同一網站時,瀏覽器可以更快地載入這些資源。但是,如果網站資源傳回 404 錯誤,則該回應也可以儲存在快取中。因此,即使該資源在伺服器上已修正,用戶仍可能收到 404 錯誤。為了解決這個問題,我們可以從HTTP header的配置上下功夫。
您可以設定 Cache-control: no-store 來防止儲存回應,或設定 Cache-Control: no-cache 來強制瀏覽器在使用快取版本之前與伺服器進行檢查。您也可以使用回應過期的時間來配置 Expires 標頭。
5。如果資源缺失,優雅地處理
不要讓使用者遇到 404 錯誤,而是設定重定向到出現錯誤的替代頁面並建議其他服務。此外,如果服務已移動或重新命名,請設定 301(永久)或 302(暫時)重定向到新 URL。
結論
404 錯誤會對使用者體驗以及應用程式和 SEO 的可信度產生負面影響。作為開發人員,透過優雅地處理 404 錯誤,您可以展現出對品質和可用性的承諾,從而增強客戶對您的工作和正在開發的產品的信心。
以上是如何避免請求無法存取的資源的詳細內容。更多資訊請關注PHP中文網其他相關文章!