• 您好!欢迎来到金点子源码网!
  • 登录 注册

源码网_提供网站源码、discuz、wordpress主题与插件和站长教程等资源的下载服务

易优404页面显示错误,使用默认模板不显示模板内自带的404页面

在使用易优CMS(Youzhicms)时,如果遇到 404 页面显示错误,即使设置了默认模板,但 没有显示模板自带的 404 页面,而是显示了系统默认的错误页面或空白页,这通常是由以下几个原因导致的。以下是详细的排查和解决方案:

image.png


第一步:核心检查与修复

  1. 确认404页面的物理位置

    • 正确的404页面文件应该是:/template/您当前使用的模板目录/404.Html

    • 请通过FTP或服务器文件管理器,确认这个文件确实存在。如果不存在,您需要从原版模板包中复制一个过来。

  2. 修改系统配置(最常见的原因)

    • 这是最可能的原因。易优CMS的后台默认404页面地址可能设置错了。

    • 操作路径:登录后台 -> 系统 -> 系统设置 -> 核心设置

    • 找到名为 “404页面” 的配置项。

    • 其值应该设置为:404.html

    • 注意不要填写完整的URL(如 /template/your_theme/404.html),通常只需要填写文件名 404.html即可。系统会自动在模板目录下寻找。

  3. 检查服务器伪静态规则

    • 如果您的网站开启了伪静态(URL重写),服务器配置错误也会导致404页面无法正常触发。

    • 对于Nginx:检查站点配置文件(如 site.conf),确保包含类似以下规则,它能将404错误指向易优的入口文件进行处理:

      <PRe class="ybc-pre-component ybc-pre-component_not-math">error_page 404 = /404.html; # 这是直接指向静态文件,如果要用动态,则用下面方式 # 或者更推荐用动态处理,确保能带上模板 error_page 404 = /index.php?m=home&c=Error&a=error_404;
    • 对于Apache:检查 .htaccess文件,确保 ErrorDocument 404的规则存在且正确。易优通常会在.htaccess中自带相关规则,请勿删除或修改。标准规则通常类似:

      ErrorDocument 404 /index.php?m=home&c=Error&a=error_404
    • 操作后务必重启Web服务(Nginx/Apache)。

第二步:高级与彻底排查

如果以上步骤未能解决,请继续:

  1. 清除所有缓存

    • 后台清除:进入后台 -> 系统 -> 系统工具 -> 清除缓存(包括数据缓存、模板缓存等所有选项)。

    • 手动清除:通过FTP删除 /runtime/目录下的所有文件夹和文件(index.html.htaccess除外)。注意:此操作会清空所有缓存,包括会话,可能导致在线用户退出登录。

  2. 检查控制器文件

    • 易优的404页面通常由 Error控制器处理。请确认文件 /application/home/controller/Error.php存在且未被修改。

    • 查看其中的 error_404方法,看它是否正确调用了模板。代码应该类似于:

      public function error_404()
      {
          $this->assign('think', [
              'title' => '页面不存在',
          ]);
          return $this->fetch(':404'); // 这行表示调用当前模板下的404.html
      }
  3. 权限问题(Linux服务器)

    • 检查模板目录和404.html文件的权限。通常目录权限应为755,文件权限应为644。

    • 在模板目录下执行命令:

      chmod -R 755 /您的网站路径/template/your_theme/
      chmod 644 /您的网站路径/template/your_theme/404.html
  4. 终极测试:直接访问模板文件

    • 在浏览器中尝试直接访问您的404页面的完整物理路径,例如:https://您的域名/template/your_theme/404.html

    • 如果可以访问:说明页面文件本身是好的,问题出在系统路由或服务器配置上(回到第2、3步)。

    • 如果出现错误:说明您的 404.html文件本身可能存在编码、语法错误,或者引用的css/JS路径不正确。检查这个HTML文件的代码。

第三步:便捷解决方案

如果上述排查太复杂,您可以使用一个快速解决方案,在后台直接定义404页面的HTML内容:

  1. 进入后台 -> 系统 -> 系统设置 -> 核心设置。

  2. 在“404页面”配置项中,不填写文件名,而是留空。

  3. 找到“自定义404页面内容”配置项(如果有的话),将您的404页面HTML代码直接粘贴进去。

  4. 保存。这样系统会直接输出这段HTML,而不去读取模板文件。

问题原因总结

通常,您遇到的问题根源是:

  • 后台配置错误:系统设置中“404页面”地址填写不正确。

  • 伪静态规则冲突:服务器错误地拦截了404状态码,没有交给易优处理。

  • 缓存问题:旧的、错误的配置或路径被缓存了。

建议的解决顺序

  1. 检查并修正后台配置(第二步)。

  2. 清除所有缓存(第四步)。

  3. 检查服务器伪静态(第三步)。

请按顺序尝试,大概率能在前几步解决问题。如果仍有困难,请提供您的易优版本、使用的web服务器类型(Nginx/Apache),以及后台“404页面”配置项当前的截图,我可以给您更精确的指导。

本文链接:http://www.7ov.cn/xinwendongtai/2126.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系客服
网站客服 业务合作 在线客服QQ
294169012
微信号
微信号
微信号
返回顶部