前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TP的404页面设置怎么这么多坑啊?

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

作者头像
PM吃瓜
发布2019-08-12 17:30:40
1.4K0
发布2019-08-12 17:30:40
举报
文章被收录于专栏:PM吃瓜(公众号)PM吃瓜(公众号)

网上有很多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写的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tech爬虫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档