首先:
404.html页面的路径绝对是正确的
URL_MODEL 设置为重写模式('URL_MODEL'=>2,)
此时没有手动配置异常页面
报错信息如下,
和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面,如下图所示:
当然此时的入口文件开启的是调试模式
关闭调试模式(define('APP_DEBUG',false);)的报错信息,
只有在调试模式下面才能显示具体的错误信息,如果在部署模式下面,你可能看到的是一个简单的提示文字,例如:
此二者报错模式皆是因为tp框架中采用了默认的配置:
异常页面模板文件配置
错误设置
一旦关闭调试模式,发生错误后不会提示具体的错误信息
对于异常处理
系统内置的异常模板在系统目录的Tpl/think_exception.tpl
,可以通过修改系统模板来修改异常页面的显示。也通过设置TMPL_EXCEPTION_FILE配置参数来修改系统默认的异常模板文件, 例如:
'TMPL_EXCEPTION_FILE' => './Public/404.html',
用户看到的页面是:
另外一种方式是配置ERROR_PAGE参数,把所有异常和错误都指向一个统一页面,从而避免让用户看到异常信息,通常在部署模式下面使用。ERROR_PAGE参数必须是一个完整的URL地址,例如:
'ERROR_PAGE' =>'/Public/error.html'
如果不在当前域名,还可以指定域名:
'ERROR_PAGE' =>'http://www.myDomain.com/Public/error.html'
注意ERROR_PAGE所指向的页面不能再使用异常的模板变量了。