首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在自定义PHP MVC中创建页面404错误?

在自定义PHP MVC中创建页面404错误,可以按照以下步骤进行:

  1. 创建一个名为404.php的视图文件,用于显示404错误页面的内容。可以在该文件中编写自定义的HTML和CSS代码,以展示用户友好的错误信息。
  2. 在控制器中,添加一个名为notFound()的方法,用于处理404错误。在该方法中,可以设置HTTP响应状态码为404,并加载404.php视图文件。
  3. 在路由配置文件中,添加一个名为404的路由规则,将未匹配到的URL请求指向notFound()方法。

以下是一个示例代码:

代码语言:txt
复制
// 控制器文件
class HomeController {
    public function notFound() {
        http_response_code(404);
        require_once 'views/404.php';
    }
}

// 路由配置文件
$routes = [
    '/' => 'HomeController@index',
    '/about' => 'HomeController@about',
    // 其他路由规则...
    '404' => 'HomeController@notFound'
];

// 入口文件
$requestUrl = $_SERVER['REQUEST_URI'];
$route = trim(parse_url($requestUrl, PHP_URL_PATH), '/');
if (array_key_exists($route, $routes)) {
    $controllerAction = explode('@', $routes[$route]);
    $controller = new $controllerAction[0];
    $action = $controllerAction[1];
    $controller->$action();
} else {
    $controller = new HomeController();
    $controller->notFound();
}

这样,当用户访问未定义的路由时,将会显示自定义的404错误页面。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供可扩展的云服务器实例,适用于各种应用场景。产品介绍
  • 云数据库 MySQL 版(CDB):高性能、可扩展的关系型数据库服务,适用于Web应用、移动应用等。产品介绍
  • 云存储(COS):安全可靠的对象存储服务,适用于图片、音视频、文档等文件的存储和管理。产品介绍
  • 人工智能机器翻译(TMT):提供高质量的机器翻译服务,支持多种语言互译。产品介绍
  • 物联网通信(IoT):提供稳定可靠的物联网设备连接和数据传输服务,支持海量设备接入。产品介绍
  • 腾讯云区块链服务(TBC):提供高性能、安全可信的区块链服务,适用于金融、供应链等领域。产品介绍
  • 腾讯云元宇宙(Tencent Real-Time Render):提供高度真实感的实时渲染服务,适用于游戏、影视等领域。产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ZBLOG PHP自定义通用404错误页面模板(简洁单页面

一般情况下,从客户要求上看我们搭建的网站并没有刻意去给客户网站安装404错误页面的模板主题页面,而是有时候采用的默认系统自带的。...当然如果需要追求效果或者严格度的话,最好是设置通用的404错误页面模板,这样每次制作主题的时候直接统一调用也不错。...这里老蒋有看到来自烽烟博客的ZBLOG PHP自定义通用404错误页面的模板,这里整理过来,后面有需要的时候我也会使用,如果我们有需要的也可以参考。 <!....php页面更换即可,如果没有这个页面我们需要创建一个。...脚本版权参考地址:https://www.fengyan.cc/1222.html 本文出处:老蒋部落 » ZBLOG PHP自定义通用404错误页面模板(简洁单页面) | 欢迎分享

1.8K20

详解ASP.NET Core 处理 404 Not Found

解决方案 在以前的ASP.NET MVC版本,主要在 web.config 处理404错误的。...在这里,我们知道用户正在查看产品,而不是返回通用错误,我们可以更友好的页面,返回自定义未找到产品的的页面。这仍然需要返回404状态代码,但是使用不通用的页面,同时也可以向用户显示类似或受欢迎的产品。...通配路由 在先前版本的MVC创建一个通配符路由来处理,在.NET Core,也可以使用相同的方式。这个方式是,您有一个通配符路由,它会接收任何其它路由尚未处理的URL。...当从内部中间件组件返回错误代码(404)时,UseStatusCodePagesWithReExecute允许您执行另一个控制器Action来处理状态代码。...app.UseMvc(); 中间件定义的顺序很重要,您需要确保在可能返回错误代码的任何中间件(MVC中间件)之前注册StatusCodeWithReExecute。

1.9K20

微服务架构之Spring Boot(三十四)

如果您创建自己的 ConfigurableWebBindingInitializer @Bean ,Spring Boot会自动配置Spring MVC以使用它。...28.1.11错误处理 默认情况下,Spring Boot提供 /error 映射,以合理的方式处理所有错误,并在servlet容器中注册为“全局”错误页面。...自定义错误页面 如果要显示给定状态代码的自定义HTML错误页面,可以将文件添加到 /error 文件夹。错误页面可以是静态HTML(即,添加到任何静态资源 文件夹下),也可以使用模板构建。...将错误页面映射到Spring MVC之外 对于不使用Spring MVC的应用程序,可以使用 ErrorPageRegistrar 接口直接注册 ErrorPages 。...小心:当部署到servlet容器时,Spring Boot使用其错误页面过滤器将具有错误状态的请求转发到相应的错误页面。如果尚未提交响应,则只能 将请求转发到正确的错误页面

91610

asp.net mvc 的异常处理解决方案

web form上微软提供了一个工具包,关于这个工具包参看推荐一个工具包自定义HTTP 404错误。如何在asp.net mvc上实现这样的功能呢?...asp.net mvc创建项目的时候在Views的Shared目录下有一个错误处理页Error.aspx视图,这个默认的错误处理功能没有实现对错误日志的记录。...捕获所有的服务端异常包括HttpExeptions例如404错误,并且自定义错误处理的视图,同时将错误记录到数据库,发送给相关人员,综合下面两篇blog: Real world error hadnling....aspx ELMAH with ASP.NET MVC: http://darrell.mozingo.net/2009/02/19/elmah-with-aspnet-mvc/ 将这两文章的内容整合...,就可以得到asp.net mvc的异常处理方面的一个相对全面的解决方案。

83390

Thinkphp框架自定义404页面

404页面我们在浏览网页的过程中都遇到过,简单来说就是搜索的东西服务器无法找到,给你返回一个提示信息,但是真正的404意义又是什么呢?...请查看文章:404的真正意义; Thinkphp框架在部署模式时,当用户或他人进入不存在的页面,系统会抛出异常。框架默认给了一段文字“页面错误!...请稍后再试~”,但是这个页面是很丑的,同时也是一个死页面,死链接,对网站优化及用户体验都不好。 下面教大家如何在thinkphp框架自定义页面。 ?...步骤二:新建404.html页面,下面是本站使用的404页面,大家可直接使用; 点击下载  404.rar 步骤三:将404.html页面上传至服务器跟目录,即和index.php处于同一目录; ?...步骤四:在config文件内添加如下配置,可以使用同样方式定义其他状态码页面; 'http_exception_template'    =>  [      // 定义404错误的重定向页面地址

1.7K10

教你理清SpringBoot与SpringMVC的关系

你可以设置spring.resources.staticLocations属性自定义静态资源的位置(配置一系列目录位置代替默认的值),如果你这样做,默认的欢迎页面将从自定义位置加载,所以只要这些路径的任何地方有一个...如果找到任何一个,它将自动用作应用程序的欢迎页面。、 自定义Favicon Spring Boot favicon.ico在配置的静态内容位置和类路径的根目录(按此顺序)查找a 。...错误处理 Spring Boot默认提供一个/error映射用来以合适的方式处理所有的错误,并将它注册为servlet容器全局的 错误页面。...自定义错误页面 如果想为某个给定的状态码展示一个自定义的HTML错误页面,你需要将文件添加到/error文件夹下。...WebSphere应用服务器的错误处理 当部署到一个servlet容器时,Spring Boot通过它的错误页面过滤器将带有错误状态的请求转发到恰当的错误页面

1.6K30

教你理清SpringBoot与SpringMVC的关系

你可以设置spring.resources.staticLocations属性自定义静态资源的位置(配置一系列目录位置代替默认的值),如果你这样做,默认的欢迎页面将从自定义位置加载,所以只要这些路径的任何地方有一个...如果找到任何一个,它将自动用作应用程序的欢迎页面。、 自定义Favicon Spring Boot favicon.ico在配置的静态内容位置和类路径的根目录(按此顺序)查找a 。...错误处理 Spring Boot默认提供一个/error映射用来以合适的方式处理所有的错误,并将它注册为servlet容器全局的 错误页面。...自定义错误页面 如果想为某个给定的状态码展示一个自定义的HTML错误页面,你需要将文件添加到/error文件夹下。...WebSphere应用服务器的错误处理 当部署到一个servlet容器时,Spring Boot通过它的错误页面过滤器将带有错误状态的请求转发到恰当的错误页面

2.1K40

在ASP.NET Core使用Middleware模拟Custom Error Page功能

一、使用场景 在传统的ASP.NET MVC,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute...自定义错误页面的目的,就是为了能让程序在出现错误/异常的时候,能够有较好的显示体验。...有时候在Error视图中也会发生错误,这时ASP.NET/MVC将会显示其默认的错误页面(黄底红字),为了避免这种情况的出现,我们都是在Web.config文件的customErrors节自定义错误页面...ErrorPages节点,用于存储我们需要的Http状态编码并包含使用到的错误页面地址, 将他们用Startup类的ErrorPages变量使用Key/Value的形式,读取出来。   ...当然我们最后,还要为这个中间件添加一个扩展方法,ASP.NET Core为 IApplictionBuilder创建了好多的扩展方法,其实也好比它的名子一样,它就应该是一个建造者模式。

1.2K30

知识点-Spring Boot 统一异常处理汇总

在实际开发,我们会遇到很多异常,在发生异常的时候Spring Boot默认提供了错误页面展示给用户。看似比较友好,其实页面很丑。...接下来分别给大家介绍下解决方案: 页面处理 首先我们来看页面错误的处理情况,当我们的程序内部报错的时候或者访问的页面找不到的时候,我们可以看到下面的错误页面: ?...,直接编写对应的错误页面,进行覆盖即可: /** * 自定义错误页面覆盖spring boot错误页面 * @author yinjihuan * */ @Controller public...错误页面,最友好的方式就是返回固定的JSON格式,里面有个code为404。...=true #不要为我们工程的资源文件建立映射 spring.resources.add-mappings=false 然后我们调用一个不存在的接口时,返回的错误信息就是我们自定义的那种格式了 {

84520

讲解-加载静态页

讲解 本教程旨在向您介绍CodeIgniter框架和MVC体系结构的基本原理。它将向您展示如何以逐步的方式构造基本的CodeIgniter应用程序。 在本教程,您将创建一个基本的新闻应用程序。...您将从编写可加载静态页面的代码开始。接下来,您将创建一个新闻部分,该部分将从数据库读取新闻项。最后,您将添加一个表单以在数据库创建新闻项。...控制器将是你 Web 应用程序处理请求的核心。和其他的 PHP 类一样,可以在你的控制器中使用 $this 来访问它。 现在,你已经创建了你的第一个方法,是时候创建一些基本的页面模板了。...如果不存在,会显示 "404 Page not found" 的错误页面。 此事例方法,第一行用以检查界面是否存在,file_exists() 是原生的 PHP 函数,用于检查某个文件是否存在。...在页头模板文件,$title 变量代表页面自定义标题,它是在方法中被赋值的,但并不是直接赋值给 title 变量,而是赋值给 $data 数组的 title 元素。

3.5K10

SpringBoot系列教程web篇之404、500异常页面配置

接着前面几篇web处理请求的博文,本文将说明,当出现异常的场景下,404请求url不存在,,403无权,500服务器异常时,我们可以如何处理 原文友链: SpringBoot系列教程web篇之404...异常页面配置 在SpringBoot项目中,本身提供了一个默认的异常处理页面,当我们希望使用自定义404,500等页面时,可以如何处理呢? 1....项目结构如上,注意这里的实例demo是没有使用模板引擎的,所以我们的异常页面放在static目录下;如果使用了如FreeMaker模板引擎时,可以将错误模板页面放在template目录下 接下来实际测试下是否生效...小结 本篇内容比较简单,归纳为两句话如下 将自定义的异常页面根据http状态码命名,放在/error目录下 在异常状况下,根据返回的http状态码找到对应的异常页面返回 II. 其他 0....一灰灰Blog 尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,发现bug或者有更好的建议,欢迎批评指正,不吝感激 下面一灰灰的个人博客,记录所有学习和工作的博文,欢迎大家前去逛逛

3.4K30

asp.net基础学习

url优先按照默认路由按照格式匹配,如果找不到,则返回404错误 参考:https://www.cnblogs.com/meetyy/p/4134615.html ASP.NET 支持三种开发模式...: Web Pages 单页面模型,cshtml文件内嵌razor语法 MVC 模型视图控制器,ajax响应函数,服务端和前端完全分离 Web Forms 事件驱动模型,服务端控件可视化布局 所有的服务器控件都必须出现在...form标签,form标签必须包含 runat=“server” 属性。...语法规则 cshtml文件: 代码块@{},标签内变量或函数@,var声明变量,@RenderPage(“”)倒入其他cshtml文件 前端渲染、后端渲染、同构渲染 前端渲染:ajax请求方式,多为mvc...,服务器压力小 : vue、react 后端渲染:后端语言+模板(ejs、jade) php、asp.net、javaweb 同构渲染:前后端公用js代码 :vue、react支持

32420

【腾讯云的1001种玩法】CRUD生成器DBuilder介绍与腾讯云部署

CRUD请求应最先路由到GModule MVC的Controller(控制器)。并且GModule MVC 应与Core CRUD Module的MVC代码有继承关系。...默认Core CRUD MVC视图生成的是一个表格或者一个表单,占满页面。而View接口将提供在该表格上下左右扩展页面组件的能力。...此步骤与List搜索时有共性,因此代码可复用。 Form 保存需要考虑一些自定义控件的保存,自定义控件的数保存由自定义控件类的onSave方法完成。...; root /data/release/dbuilder; #error_page 404 /404.html; include enable-php.conf;...777 app/storage chmod -R 665 app/controllers/admin app/config/crud app/models/ app/views 建立数据库,在mysql创建名为

4.6K00

web.config的customErrors与httpErrors的区别

之前一直知道设置web.config(其实就是xml文件)的customErrors的error来指向自定义错误页的URL,但是今天在调试的时候发现customErrors无法跳转到自定义页面,在网上找了半天才了解还有...httpErrors可以设置跳转自定义错误页。...> 简单来说,存取静态档案(.js、.html、.css、.jpg…)发生错误会依照httpErrors设定办事; 由.NET处理程序接手的URL(例如:.aspx、.ashx、.svc、MVC注册路由...簡單來說,存取靜態檔案(.js、.html、.css、.jpg…)發生錯誤會依照httpErrors設定辦事;由.NET處理程序接手的URL(例如:.aspx、.ashx、.svc、MVC註冊路由),...以下是簡單示範,輸入不存在的blah.gif看到的是SystemWebServer404.html、輸入不存在的blah.aspx則是SystemWeb.404.html,故得證。

74120
领券