热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自定义404页面的响应和设置

我用的是PHP的thinkphp框架,当时不知道为什么我没有在网上搜索“thinkphp中404页面显示”等类似这样的关键字,而是输入了类似“wampserver设置404页面显示”这样的关键字,在晚上找到了很多的内容.

在我们写任何的网站的时候,都会涉及到友好的404页面的显示,今天我就遇到这样的问题,对于一个对这些了解不是很多的我,要独立解决问题.

我用的是PHP的thinkphp框架,当时不知道为什么我没有在网上搜索“thinkphp中404页面显示”等类似这样的关键字,而是输入了类似“wampserver设置404页面显示”这样的关键字,在晚上找到了很多的内容,解决方法都是修改工程目录下的.htaccess文件,对这个文件我了解的不多,甚至说不知道它是干什么的,该文件的功能或许是这样的:该文件可以叫分布式配置文件,主要是配置文件,提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录,作为用户,所能使用的命令受到限制,管理员可以通过Apache的AllowOverride指令来设置,这样的理解我还能接受,这样的理解是从一篇日志上看到的,对其更详细的介绍请点击博文末尾的链接.

对404页面的问题解决的方法就是在.htaccess添加代码:

ErrorDocument 404 /errors/error.html  error.htmnl就是对404处理的页面

运行项目,发现返回404错误的时候,没有显示出error.html文件内容,难道没有执行吗?下面再用一下的语句测试一下:

ErrorDocument 404 “404 file not found”  引号里的内容就是对404处理的显示结果,当我们执行项目的时候发现会显示出“404 file not found”这样的字样,说明我们这几句话是被调用了的,然后陷入了疑惑的状态,难道是自己的其他配置有问题,最后在网上继续寻找问题的答案,问题也没有解决,这样的策略那就不能考虑了(ps:据说是thinkpnp自身的原因,解决方案就是修改/ThinkPHP/Tpl/ThinkException.tpl.php

在html源码头部追加),这个我还没有测试,所以这个方法大家可以尝试一下。

下面说下一种解决方法:

就是在Action中创建一个ErrorAction.class.php模块,在里面写过_Empty()方法,具体代码如下:

  1.     class EmptyAction extends Action { 
  2.      public function _empty(){ 
  3.             header("HTTP/1.0 404 Not Found");//这个是必须添加的,这个就是返回404错误 
  4.             $this->display('Error:error');//error是存放在Error文件夹中的error.html(404页面), 
  5.         } 
  6.     } 
  7. ?> 

有这个后仅仅只能解决所谓的一级域名的错误问题,要是解决二级域名等问题,需要解决的方法就是在CallAction.class.php和JasonAction.class.php以及CallAction等所有能出现在url中的模块里添加如下代码:

  1. public function _empty(){ 
  2.             header("HTTP/1.0 404 Not Found");//这个是必须添加的,这个就是返回404错误 
  3.             $this->display('Error:error');//error是存放在Error文件夹中的error.html(404页面), 

方可实现当输入错误的url时,显示404页面.


推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
祢好世界末日
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有