• 产品简介
  • 快速开始
    • 导入 Git 仓库
    • 从模板开始
    • 直接上传
    • 从 AI 开始
  • 框架指南
    • 前端
    • 后端
    • 全栈
      • Next.js
    • 自定义 404 页面
  • 项目指南
    • 项目管理
    • edgeone.json
    • 缓存配置
    • 错误码
  • 构建指南
  • 部署指南
    • 概览
    • 触发部署
    • 管理部署
    • 部署按钮
    • 使用 Github Action
    • 使用 CNB 插件
    • 使用 IDE 插件
    • 使用 CodeBuddy IDE
  • 域名管理
    • 概览
    • 自定义域名
    • 配置 HTTPS 证书
    • 如何配置 DNS 的 CNAME 记录
  • Pages Functions
    • 概览
    • Edge Functions
    • Node Functions
  • 日志分析
  • KV 存储
  • 边缘 AI
  • API Token
  • EdgeOne CLI
  • Pages MCP
  • 集成指南
    • AI
      • 对话型大模型集成
      • 图片大模型集成
    • 数据库
      • Supabase 集成
      • Pages KV 集成
    • 电商
      • Shopify 集成
      • WooCommerce 集成
    • 支付
      • Stripe 集成
      • Paddle 集成
    • CMS
      • WordPress 集成
      • Contentful 集成
      • Sanity 集成
    • 身份验证
      • Supabase 集成
      • Clerk 集成
  • 最佳实践
    • 使用通用大模型快速搭建 AI 应用
    • 使用边缘 AI 模型快速搭建对话型 AI 站点
    • 使用 Shopify 搭建电商平台
    • 使用 Supabase 和 Stripe 搭建 SaaS 站点
    • 如何快速搭建公司品牌站点
    • 如何快速搭建博客站点
  • 迁移指南
    • 从 Vercel 迁移至 EdgeOne Pages
    • 从 Cloudflare Pages 迁移至 EdgeOne Pages
    • 从 Netlify 迁移至 EdgeOne Pages
  • 排障指南
  • 常见问题
  • 联系我们
  • 产品动态

自定义 404 页面

当用户访问 EdgeOne Pages 项目中不存在的路径时,平台将提供一个标准的 404 错误页面。为确保用户体验的一致性,平台建议您创建自定义 404 页面。


静态站点生成器(SSG)

对于使用 Gatsby、Hugo 等静态站点生成器构建的应用,或在构建时生成多个 HTML 文件的应用,只需确保构建输出目录中有 404.html 文件,Pages 部署时将自动识别此文件,并在请求未匹配到任何路径时将其作为 404 页面返回。

Hugo: ./layouts/ 或主题目录下的 ./themes/your-theme/layouts/ 创建 404.html。
Gatsby:./src/pages/ 创建 404.js 或 404.tsx。


单页应用 (SPA)

对于使用 React、Vue 等现代前端框架构建的单页应用,404 错误处理通常由客户端路由负责。在路由配置中设置一个“捕获所有”或通配符路由,即可处理所有未匹配到的路径。
注意:
单页应用不能在输出目录根路径下放置 404.html,会影响客户端的路由配置。

React:通过 React 中最常用的路由库 react-router-dom 在路由配置的最后添加一个 path="*" 的 Route,并将其 element 指向您的自定义 404 组件。
Vue:Vue Router 的路由配置数组中,添加一个 path: '/:pathMatch(.*)*' 的路由规则,并将其 component 指向您的自定义 404 组件。


Next.js

Next.js 提供了灵活的方式来处理 404 页面,但由于存在 Pages Router 和 App Router 两种路由机制,其 404 页面的配置方式略有不同。

Pages Router:pages 目录下创建一个名为 404.js404.tsx 的文件。Next.js 会在构建时将其编译成一个静态 HTML 文件,并在任何未匹配的路由请求时返回该页面。
App Router:app 目录下(或任何路由段中)创建一个名为 not-found.jsnot-found.tsx 的文件。当用户访问的路径没有对应的 page.js 文件时,Next.js 会自动渲染最近的 not-found.js 文件。