ThinkPHP3.2.3设置404跳转页面
在ThinkPHP3.2版本中当我们访问不存在的页面时会出现错误提示页面:
error.png
解决办法:
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渲染,所以路径常量没被解析。