织梦404页面文件是什么?如何自定义?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 织梦建站 正文

在织梦中,404页面通常由两部分组成:

织梦404页面文件
(图片来源网络,侵删)
  1. 系统核心文件:处理404错误逻辑并跳转到自定义页面的PHP文件。
  2. 自定义展示文件:用户自己创建的HTML页面,用于向访客展示友好提示。

第一部分:系统核心文件 - php

这个文件是织梦404机制的“大脑”,它的作用是:

  • 捕获所有404错误(即访问的页面不存在)。
  • 记录错误日志,方便管理员排查。
  • 自动将访客重定向到你指定的自定义404页面。

文件位置: /你的网站根目录/404.php

如何修改 php 文件:

这个文件通常不需要你从头创建,它默认就存在于织梦的根目录下,你只需要用代码编辑器(如VS Code, Sublime Text, Notepad++)打开它,并根据你的需求进行修改。

织梦404页面文件
(图片来源网络,侵删)

默认的 php 文件内容分析:

<?php
// 404页面
require_once (dirname(__FILE__) . "/include/common.inc.php");
$custompage = 404; // 自定义页面标记
if(isset($custompage))
{
    // 你可以在这里自定义你的404页面,
    // header("HTTP/1.1 404 Not Found");
    // header("Status: 404 Not Found");
    // 引入你自定义的404模板文件
    // include(DEDEROOT.'/templets/404.htm'); 
    // 或者直接输出一段HTML
    // echo '很抱歉,您访问的页面不存在!';
    // 织梦默认的跳转方式是跳转到首页
    // 如果你想跳转到自定义的404页面,请取消下面这行代码的注释,并修改URL
    // header('Location: http://www.yourdomain.com/404.html'); 
    // 如果你想显示一个自定义的404页面,而不是跳转,请取消下面的注释
    // 并确保 /templets/ 目录下有一个 404.htm 文件
    include(DEDEROOT.'/templets/404.htm');
}
else
{
    // 如果没有设置自定义页面,则默认跳转到首页
    header("Location:/");
}
?>

修改步骤和推荐做法:

最推荐的做法是创建一个独立的404页面文件,然后让 php 引用它,这样做的好处是分离逻辑和内容,管理更清晰。

步骤1:创建你的自定义404页面文件

织梦404页面文件
(图片来源网络,侵删)

在你的网站根目录下,创建一个名为 html 的文件,这个文件就是访客最终看到的页面。

示例 html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">404 - 页面未找到 - 你的网站名称</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        body { font-family: 'Microsoft YaHei', Arial, sans-serif; text-align: center; padding: 100px 20px; background-color: #f9f9f9; }
        .container { max-width: 600px; margin: 0 auto; background: #fff; padding: 40px; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
        h1 { color: #e74c3c; font-size: 72px; margin: 0 0 20px 0; }
        p { color: #555; font-size: 18px; line-height: 1.6; margin-bottom: 30px; }
        a { display: inline-block; background-color: #3498db; color: #fff; padding: 12px 30px; text-decoration: none; border-radius: 5px; font-size: 16px; transition: background-color 0.3s; }
        a:hover { background-color: #2980b9; }
    </style>
</head>
<body>
    <div class="container">
        <h1>404</h1>
        <p>抱歉,您访问的页面不存在或已被移除。</p>
        <p>可能是输入有误,或者页面已被删除。</p>
        <a href="/">返回网站首页</a>
    </div>
</body>
</html>

步骤2:修改 php 文件

打开根目录下的 php 文件,将其内容修改为以下代码,使其直接跳转到你刚刚创建的 html 页面。

<?php
// 织梦CMS 404错误页面处理
// 直接跳转到我们自定义的404.html页面
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
header('Location: /404.html');
exit();
?>

代码解释:

  • header('HTTP/1.1 404 Not Found');:向浏览器发送正确的HTTP 404状态码,告诉服务器“这个页面真的不存在”。
  • header('Status: 404 Not Found');:在某些服务器环境下(如Nginx)需要这行来确保状态码正确。
  • header('Location: /404.html');:将访客重定向到你的自定义404页面。
  • exit();:立即终止脚本执行,防止后续代码干扰。

第二部分:服务器配置(重要!)

仅仅有 php 文件是不够的,你必须告诉服务器(如Apache或Nginx),当遇到404错误时,要去执行 php 这个文件,否则,服务器会使用自己的默认404页面。

Apache 服务器配置

如果你的服务器是Apache,需要修改 .htaccess 文件。

文件位置: /你的网站根目录/.htaccess

修改方法:.htaccess 文件中添加或修改以下代码:

# 将所有404错误重定向到根目录下的404.php文件
ErrorDocument 404 /404.php

如何找到 .htaccess 文件? 它通常隐藏在网站根目录,你可能需要在FTP工具或文件管理器中设置“显示隐藏文件”才能看到。

Nginx 服务器配置

如果你的服务器是Nginx,需要修改Nginx的配置文件(通常是 nginx.conf 或站点配置文件)。

修改方法:server 块中添加以下配置:

error_page 404 /404.php;

注意: 修改Nginx配置后,需要重新加载或重启Nginx服务才能生效,通常使用命令 sudo nginx -s reload


完整设置流程

  1. 创建自定义页面

    • 在网站根目录创建 html 文件,并填入你设计的HTML内容(包含友好的提示和返回首页的链接)。
  2. 修改核心逻辑文件

    • 打开网站根目录下的 php 文件。
    • 替换为:
      <?php
      header('HTTP/1.1 404 Not Found');
      header('Status: 404 Not Found');
      header('Location: /404.html');
      exit();
      ?>
  3. 配置服务器

    • 如果是Apache:编辑根目录下的 .htaccess 文件,添加 ErrorDocument 404 /404.php
    • 如果是Nginx:编辑Nginx配置文件,在 server 块中添加 error_page 404 /404.php;,然后重载Nginx。
  4. 测试

    • 访问一个你网站上确定不存在的页面(http://www.yourdomain.com/a-page-that-does-not-exist.html)。
    • 如果一切正常,你应该会看到你自定义的 html 页面,并且浏览器地址栏的URL可能会保持不变,也可能变成 html,这取决于你的 php 实现,更重要的是,浏览器开发者工具(F12)的“网络”标签中,响应状态码应该是 404 (Not Found)

完成以上步骤,你的织梦网站就拥有了一个功能完整、外观友好的自定义404页面了。

-- 展开阅读全文 --
头像
c语言_at函数具体怎么用?
« 上一篇 04-21
dede博客模板源码如何获取或修改?
下一篇 » 04-21

相关文章

取消
微信二维码
支付宝二维码