Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说解决thinkCMF6总是显示404 Not Found而不是显示报错信息的方法,希望能够帮助你!!!。
要解决的问题如下图:
404 Not Found
解决后的效果,举例如下:
解决办法:
假设根目录是D:\project\thinkcmf6。
修改文件
D:\project\thinkcmf6\vendor\topthink\framework\src\think\exception\Handle.php
原因解析:上图第211行
if ($exception instanceof HttpException) {
$statusCode = $exception->getStatusCode();//值为404
$response->header($exception->getHeaders());
}
导致第218行的$statusCode的值要么是404要么是500。
修改代码的核心要点:强制响应码为默认值200。
要追加的的代码可以是:
//不太推荐添加这一行if开头的代码,
if (true === $this->app->isDebug()){
//重点就是这一行代码,强制响应码为默认值200
$statusCode = $response->getCode();
}
如果.env文件中的APP_DEBUG=false,则仍然显示404 Not Found。
如果想要显示得更加友好一些,如下图
要追加的的代码可以是:(推荐)
//重点就是这一行代码,强制响应码为默认值200
$statusCode = $response->getCode();
或者是:(推荐)
return $response;
好了,去试试吧,为了愉快地进行开发业务。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章