App下載

404 是什么意思?常見(jiàn)404代碼示例

編程獅(w3cschool.cn) 2025-05-08 13:47:52 瀏覽數(shù) (1331)
反饋

你是否在瀏覽網(wǎng)頁(yè)時(shí)突然看到 “404 Not Found” 的提示,一臉懵,不知所措?別擔(dān)心,今天我就來(lái)給大家詳細(xì)說(shuō)說(shuō) 404 是什么意思。

一、404 的含義

404 是 HTTP 狀態(tài)碼之一,表示客戶端能夠與服務(wù)器通信,但服務(wù)器無(wú)法找到請(qǐng)求的資源。簡(jiǎn)單來(lái)說(shuō),就是你訪問(wèn)的頁(yè)面不存在。

二、404 錯(cuò)誤的常見(jiàn)原因

(一)頁(yè)面被刪除或移動(dòng)

網(wǎng)站管理員可能刪除了某個(gè)頁(yè)面,或者將頁(yè)面移動(dòng)到新的 URL,但沒(méi)有設(shè)置正確的重定向。當(dāng)用戶訪問(wèn)舊 URL 時(shí),就會(huì)遇到 404 錯(cuò)誤。

(二)URL 輸入錯(cuò)誤

用戶在瀏覽器中手動(dòng)輸入 URL 時(shí),可能會(huì)拼寫(xiě)錯(cuò)誤,或者點(diǎn)擊了錯(cuò)誤的鏈接,導(dǎo)致服務(wù)器無(wú)法找到對(duì)應(yīng)的資源,從而返回 404 錯(cuò)誤。

(三)服務(wù)器配置問(wèn)題

服務(wù)器配置錯(cuò)誤可能導(dǎo)致某些資源無(wú)法被找到。例如,服務(wù)器上的文件被意外刪除或移動(dòng),或者服務(wù)器沒(méi)有正確配置對(duì)特定資源的處理程序。

(四)路由配置錯(cuò)誤

如果你使用的是 Web 框架,路由配置錯(cuò)誤可能導(dǎo)致頁(yè)面無(wú)法正確匹配,從而出現(xiàn) 404 錯(cuò)誤。

(五)文件權(quán)限問(wèn)題

即使文件存在,如果服務(wù)器沒(méi)有正確的權(quán)限來(lái)訪問(wèn)該文件,也會(huì)返回 404 錯(cuò)誤。

(六)網(wǎng)絡(luò)或緩存問(wèn)題

有時(shí)瀏覽器緩存或網(wǎng)絡(luò)問(wèn)題可能導(dǎo)致網(wǎng)頁(yè)加載異常,出現(xiàn) 404 錯(cuò)誤??梢試L試清除瀏覽器緩存或檢查網(wǎng)絡(luò)連接后重新加載網(wǎng)頁(yè)。

三、404 錯(cuò)誤的影響

404 錯(cuò)誤會(huì)影響用戶體驗(yàn),用戶無(wú)法訪問(wèn)想要的內(nèi)容,可能會(huì)導(dǎo)致用戶流失。此外,大量 404 錯(cuò)誤還可能影響網(wǎng)站在搜索引擎中的排名。

四、404 錯(cuò)誤的解決方法

(一)檢查 URL

確保輸入的網(wǎng)址沒(méi)有錯(cuò)誤,包括字母、數(shù)字和符號(hào)等。

(二)清除瀏覽器緩存

有時(shí)瀏覽器緩存會(huì)導(dǎo)致網(wǎng)頁(yè)無(wú)法正常加載,可以嘗試清除緩存后重新加載網(wǎng)頁(yè)。

(三)嘗試使用其他瀏覽器

如果當(dāng)前瀏覽器無(wú)法打開(kāi)頁(yè)面,可以嘗試使用其他瀏覽器進(jìn)行訪問(wèn)。

(四)檢查服務(wù)器配置

網(wǎng)站管理員應(yīng)檢查服務(wù)器配置文件,確保正確配置了網(wǎng)站的根目錄或特定文件類型的處理程序。

(五)設(shè)置重定向

如果頁(yè)面被移動(dòng)或刪除,應(yīng)設(shè)置 301 重定向,將用戶自動(dòng)引導(dǎo)到新的 URL。

(六)檢查文件路徑和權(quán)限

確保服務(wù)器上文件的路徑與 URL 中的路徑匹配,并且服務(wù)器具有訪問(wèn)請(qǐng)求資源的權(quán)限。

(七)利用相關(guān)工具檢查

可以使用一些在線工具來(lái)檢查網(wǎng)站上的 404 錯(cuò)誤,例如 Google Search Console。

(八)聯(lián)系網(wǎng)站管理員

如果以上方法都無(wú)法解決問(wèn)題,可以聯(lián)系網(wǎng)站管理員尋求幫助。

五、如何預(yù)防 404 錯(cuò)誤

(一)定期檢查網(wǎng)站鏈接

確保所有鏈接都是最新的,并且指向正確的頁(yè)面。

(二)設(shè)置友好的錯(cuò)誤提示頁(yè)面

為用戶提供符合網(wǎng)站風(fēng)格的 404 錯(cuò)誤提示頁(yè)面,提供導(dǎo)航選項(xiàng),幫助用戶找到他們想要的內(nèi)容。

(三)使用代碼版本控制系統(tǒng)

使用 Git 等代碼版本控制系統(tǒng)可以追蹤代碼的變化歷史,方便回溯和查找潛在的錯(cuò)誤來(lái)源。

六、課程推薦

如果你想深入了解 Web 開(kāi)發(fā)和網(wǎng)站管理的相關(guān)知識(shí),可以學(xué)習(xí)編程獅(W3Cschool)上的以下課程:

總之,404 錯(cuò)誤是我們?cè)跒g覽網(wǎng)頁(yè)時(shí)常見(jiàn)的問(wèn)題之一。通過(guò)了解其原因和解決方法,我們可以更好地應(yīng)對(duì)和預(yù)防這類問(wèn)題,提升網(wǎng)站的用戶體驗(yàn)和運(yùn)營(yíng)效果。

七、常見(jiàn)404代碼示例

以下為一些常見(jiàn)的 404 錯(cuò)誤代碼示例:

  1. HTML 示范頁(yè)面

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 頁(yè)面未找到 - 編程獅</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 0;
        }
        .container {
            max-width: 800px;
            margin: 50px auto;
            background-color: #fff;
            padding: 30px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            text-align: center;
        }
        h1 {
            color: #e74c3c;
        }
        p {
            font-size: 18px;
            line-height: 1.6;
        }
        a {
            display: inline-block;
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #3498db;
            color: #fff;
            text-decoration: none;
            border-radius: 3px;
        }
        a:hover {
            background-color: #2980b9;
        }
    </style>
    </head>
    <body>
    <div class="container">
        <h1>404 - 頁(yè)面未找到</h1>
        <p>很抱歉,您訪問(wèn)的頁(yè)面在編程獅上不存在。</p>
        <a >返回編程獅首頁(yè)</a>
    </div>
    </body>
    </html>

  2. Flask 框架自定義 404 頁(yè)面(Python)

    from flask import Flask, render_template
    app = Flask(__name__)
    @app.errorhandler(404)
    def page_not_found(e):
    return render_template('404.html'), 404  # 自定義的 404 頁(yè)面
    @app.route('/')
    def home():
    return "編程獅首頁(yè)"
    if __name__ == '__main__':
    app.run(debug=True)

    在項(xiàng)目中創(chuàng)建一個(gè) templates 文件夾,在里面新建 404.html 文件,內(nèi)容如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 頁(yè)面未找到 - 編程獅</title>
    </head>
    <body>
    <div style="text-align: center; margin-top: 50px;">
        <h1 style="color: red;">404 - 頁(yè)面未找到</h1>
        <p>您請(qǐng)求的頁(yè)面在編程獅上不存在。</p>
        <a href="{{ url_for('home') }}">返回首頁(yè)</a>
    </div>
    </body>
    </html>

  3. Django 框架自定義 404 頁(yè)面(Python)

    在 Django 項(xiàng)目的 views.py 文件中添加:

    from django.shortcuts import render
    def custom_page_not_found(request, exception):
    return render(request, '404.html', status=404)

    urls.py 文件中添加:

    from django.conf.urls import handler404
    from .views import custom_page_not_found
    handler404 = custom_page_not_found

    創(chuàng)建一個(gè) 404.html 文件,內(nèi)容如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 頁(yè)面未找到 - 編程獅</title>
    </head>
    <body>
    <div style="text-align: center; margin-top: 50px;">
        <h1 style="color: orange;">404 - 頁(yè)面未找到</h1>
        <p>很抱歉,您訪問(wèn)的頁(yè)面在編程獅上不存在。</p>
        <a href="{% url 'home' %}">返回首頁(yè)</a>
    </div>
    </body>
    </html>

以上 404 錯(cuò)誤代碼示例涵蓋了 HTML、FlaskDjango 框架的場(chǎng)景,通過(guò)這些示例,你可以更直觀地了解 404 錯(cuò)誤的處理方式,如果你對(duì) Web 開(kāi)發(fā)感興趣,可以學(xué)習(xí)編程獅(W3Cschool)上的相關(guān)課程,深入掌握 Web 技術(shù)。

1 人點(diǎn)贊