专栏首页Tech爬虫(公众号php_pachong)TP的404页面设置怎么这么多坑啊?

TP的404页面设置怎么这么多坑啊?

网上有很多thinkphp的404页面制作方法,但大多太过繁琐不简便,很烦人,所以为大家分享了最便捷的404制作方法,如下。

解决办法:

1.在ThinkPHP3.2详细的介绍了该框架下的ThinkPHP惯例配置文件convention.php(文件位置:根目录/ThinkPHP/Conf/convention.php),里面列出各类配置类。

在该文件下可以看到:

'TMPL_EXCEPTION_FILE' => THINK_PATH.'Tpl/think_exception.tpl',// 异常页面的模板文件

'ERROR_PAGE' => '', // 错误定向页面

附:我是不建议改框架配置的***/

2.只要在根目录/Application/Common/Conf/config.php 文件中加入以下:

'TMPL_EXCEPTION_FILE' => './404.html',// 异常页面的模板文件

'ERROR_PAGE' => './404.html', // 错误定向页面

引导用户输入错误的url路径全部跳转到404.html页面即可。

/*****如果配置好但出不来效果,试着把缓存Runtime删了。

这里面,404.html路径是大问题,费了好久的时间才弄好。

1号坑: 开始我把404放在common模块下,但访问不了。才记起来,Common模块和普通模块一样,可以添加控制器、模型和视图,并且支持多层,但不能直接访问,只能继承,其中模型层可以作为公用模型,在D方法实例化中调用。

2号坑:然后我把404页面放在了Public资源文件夹下。页面里引用的css和image失效了。试了好几种路径常量__PUBLIC__,包括在config里定义IMG和CSS的模版常量,都不行。 然后用最原始的路径,结果成功了。 我没有在网上搜到具体的原因,但我猜测,404页面直接被TMPL_EXCEPTION_FILE使用,并没有被TP渲染,所以路径常量没被解析。

为了验证我的想法,我又把U函数放进去。结果发现页面的源码原封不动的还是U函数。而且TP自定义的think_exception.tpl都是原生php写的。

本文分享自微信公众号 - Tech爬虫(php_pachong),作者:爬虫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端框架介绍

    一眼看过去似乎有点少,其实开发web网站只要需求不是特别多的,基本就够了,有些甚至JS都用的少。

    公众号php_pachong
  • nginx重写url】之 当项目有多个入口文件时

    但当我们的php项目有多个入口文件时,(假如有index.php, admin.php, app.php, api.php 四个入口文件),在不处理的状态下,u...

    公众号php_pachong
  • ThinkPHP3.2.3 的异常和错误屏蔽处理

    在生产环境中系统的错误信息不能暴露给用户,入口文件的 APP_DEBUG 默认为开启状态

    公众号php_pachong
  • Wordpress设置腾讯公益404页面

    Wordpress主题会自带404页面,如果需要替换成自定义的需要修改404.php页面,这里以腾讯公益404页面为例介绍下怎样自定义页面,如果大家没有特定的4...

    zd123
  • Wordpress设置腾讯公益404页面

    Wordpress主题会自带404页面,如果需要替换成自定义的需要修改404.php页面,这里以腾讯公益404页面为例介绍下怎样自定义页面,如果大家没有特定的4...

    三杯水Plus
  • 设计社区类Web原型制作分享-Behance

    Behance 是著名设计社区,创意设计人士可以展示自己的作品,发现别人分享的创意作品。

    奔跑的小鹿
  • 外链建设:认识PageRank

    谷歌核心是页面排名(PageRank),基于网站每个页面的分数,网站链接的流行度与指向页面链接的数量和质量有关,并被谷歌用作页面排名和搜索结果排名的标准之一。

    林雍岷
  • Django安装及简单使用1.1

    Django安装及简单使用 1.1 Django的简要概述 Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。 代码都在github: U...

    98k
  • Struts2 Wildcard 和DMI

    关于Struts2 Action中的最基本method配置我就不说,那个比较死板。关于这个method有两个动态调用Action方法的方法:WildCard(...

    the5fire
  • 「走进k8s」Kubernetes1.15.1的Ingress TLS 与 Traefik路径转发(36)

    PS:上面就是traefik 和 path的使用方法,通过配置ingress 填写对应的规则就可以了,不是很复杂。也描述了traefik 关于https证书的使...

    IT故事会

扫码关注云+社区

领取腾讯云代金券