核心要点
- 织梦404页面不是“模板”:与首页、列表页不同,404页面不是一个可以直接在后台“模板管理”里下载和替换的
.htm文件,它是一个独立的PHP文件,通常命名为php。 - 内容自定义:这个
php文件里可以包含HTML代码(页面样式和内容)、PHP代码(调用织梦数据)以及CSS样式,您下载到的是一个“半成品”或“范例”,需要根据您的网站风格进行修改。 - 服务器配置:仅仅上传
php文件是不够的,您还必须在服务器上配置,告诉服务器当发生404错误时,要显示这个自定义的php页面。
第一步:下载404页面文件(PHP范例)
您可以从以下几个渠道获取高质量的 php 文件范例:

(图片来源网络,侵删)
织梦官方论坛/资源站
这是最权威的来源,您可以找到很多由织梦官方或资深开发者制作的范例。
操作步骤:
在这些网站上搜索相关资源,通常会下载到一个 .zip 压缩包,里面包含 php 文件以及可能用到的图片、CSS等。
第三方模板网站
很多提供织梦模板的网站也会附赠精美的404页面。
- 搜索关键词:
404页面 模板 下载、响应式404页面 - 注意:下载时请确保代码是干净的,没有后门。
从现有网站中获取
如果您看到其他织梦网站的404页面做得很好,可以尝试获取其代码。
- 方法:在浏览器中访问一个不存在的页面(如
https://www.example.com/abc123),然后查看网页源代码,将<body>和</body>之间的HTML代码复制下来,整合到您自己的php文件中。
第二步:修改和自定义404页面
下载到的 php 文件只是一个基础框架,您需要将其修改成符合您网站风格的页面。
一个完整的 php 文件通常包含以下部分:
<?php
/**
* 404页面
*
* @version $Id: 404.php $
* @package DedeCMS.Site
* @copyright Copyright (c) 2007 - 2025, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
// 您可以在这里添加一些PHP逻辑,例如记录404日志
// @header("HTTP/1.1 404 Not Found");
// @header("Status: 404 Not Found");
require_once(dirname(__FILE__)."/include/common.inc.php");
require_once(DEDEINC."/arc.partview.class.php");
// --- 页面内容开始 ---
// 这部分是页面的HTML内容,您可以自由修改
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">404 - 页面未找到 - <?php echo $cfg_webname; ?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
/* 在这里添加您的CSS样式 */
body { font-family: 'Microsoft YaHei', Arial, sans-serif; background-color: #f8f9fa; text-align: center; padding-top: 100px; }
.error-page { max-width: 600px; margin: 0 auto; background: #fff; padding: 40px; border-radius: 8px; box-shadow: 0 0 20px rgba(0,0,0,0.1); }
.error-code { font-size: 72px; font-weight: bold; color: #e74c3c; margin-bottom: 20px; }
.error-message { font-size: 24px; color: #333; margin-bottom: 30px; }
.error-desc { font-size: 16px; color: #666; margin-bottom: 30px; line-height: 1.6; }
.back-home { display: inline-block; background-color: #007bff; color: #fff; padding: 12px 30px; text-decoration: none; border-radius: 5px; font-size: 16px; }
.back-home:hover { background-color: #0056b3; }
</style>
</head>
<body>
<div class="error-page">
<div class="error-code">404</div>
<div class="error-message">抱歉,您访问的页面不存在!</div>
<div class="error-desc">
可能是因为:<br>
1. 网址输入有误<br>
2. 页面已被移除或不存在<br>
3. 您的网速有点慢,页面还没加载出来
</div>
<a href="<?php echo $cfg_basehost; ?>" class="back-home">返回首页</a>
</div>
</body>
</html>
<?php
// --- 页面内容结束 ---
exit();
?>
自定义要点:
- :修改
<title>标签中的内容,加入您的网站名称。 - 视觉样式:修改
<style>标签中的CSS代码,调整颜色、字体、布局,使其与您网站的整体风格保持一致。 - 提示文案:修改
<div class="error-message">和<div class="error-desc">中的文字,使其更符合您的品牌调性。 - 返回链接:确保
<a href="<?php echo $cfg_basehost; ?>">中的<?php echo $cfg_basehost; ?>正确地指向了您的网站首页,这是织梦内置的变量,能自动获取网站地址。 - 调用数据(可选):如果您想在404页面上展示一些热门文章或推荐内容,可以使用织梦的标签,但请注意,这可能会稍微增加服务器响应时间。
第三步:上传404.php文件到网站根目录
将您修改好的 php 文件,通过FTP或主机控制面板的文件管理器,上传到您网站的根目录下。
- 根目录:通常是
public_html、www或htdocs,这是存放index.php、index.html等首页文件的地方。
第四步:在服务器上配置404错误指向(最关键的一步)
这一步是让服务器生效,而不是织梦后台,具体操作取决于您的服务器类型。
Apache服务器
在网站根目录下创建或修改 .htaccess 文件(如果文件不存在,请创建一个),并添加以下代码:
ErrorDocument 404 /404.php
说明:
ErrorDocument 404是指令,告诉服务器处理404错误。/404.php是要显示的文件路径, 表示从网站根目录开始,请确保路径正确。
Nginx服务器
您需要修改Nginx的配置文件(通常是 nginx.conf 或您网站站点的配置文件),在 server 块中添加以下配置:
error_page 404 /404.php;
说明:
- 修改后需要重新加载或重启Nginx服务才能生效。
IIS服务器(Windows服务器)
- 打开 Internet 信息服务 (IIS) 管理器。
- 在左侧选择您的网站。
- 双击 “错误页” 功能。
- 在右侧操作栏,点击 “添加...”。
- 在“错误代码”中输入
404。 - 在“响应操作”中选择 “响应URL”。
- 在“URL”中输入您的404页面地址,
/404.php。 - 点击“确定”保存。
第五步:测试404页面
配置完成后,一定要进行测试!
- 在浏览器地址栏中输入您网站的一个不存在的URL,
https://www.yourwebsite.com/this-page-does-not-exist.htmlhttps://www.yourwebsite.com/abc123
- 按回车访问。
- 如果一切正常,您应该能看到您自定义的404页面,并且浏览器的地址栏会显示您输入的这个错误URL。
- 同时检查:查看浏览器开发者工具(按F12)的“网络”选项卡,确认服务器返回的状态码确实是
404 (Not Found),而不是200 (OK)或302 (Redirect),如果返回200,说明配置有误。
总结与注意事项
- 下载:从织梦官方论坛或模板网站下载
php范例。 - 修改:根据自己网站的风格修改HTML内容和CSS样式。
- 上传:将修改好的文件上传到网站根目录。
- 配置:根据服务器类型(Apache/Nginx/IIS)配置
.htaccess或服务器设置,将404错误指向/404.php。 - 测试:务必访问一个不存在的页面,确认页面显示正确且HTTP状态码为404。
- SEO:一个友好、美观的404页面可以提升用户体验,对SEO也有正面影响,它能告诉用户发生了什么,并提供清晰的下一步指引(如返回首页)。
- 不要用跳转:不要使用
header("Location: /404.html");这样的PHP跳转,因为它会返回302状态码,对SEO不利,直接输出404页面的内容即可。
