热门标签 | 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页面.


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
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社区 版权所有