2023-01-28 00:56来源:m.sf1369.com作者:宇宇
从windows到linux出现404只有一个原因:
大小写问题,windows上不区分大小写,但是linux上区分大小写。
有两个解决方法:
1. 设置tp使其不区分网址中的大小写。
2. 检查所有连接和伪静态规则,使大小写保持一致。
建议使用方案1.如果1不能彻底解决再使用2来解决。
空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。
/**
* 空模块,主要用于显示404页面,请不要删除
*/
class EmptyController extends HomeController {
// 没有任何方法,直接执行HomeController的_empty方法
// 请不要删除该控制器
function _empty() {
header ( HTTP/1.0 404 Not Found ); // 使HTTP返回404状态码
$this->display ( Public:404 );
}
function index() {
header ( HTTP/1.0 404 Not Found );
$this->display ( Public:404 );
}
}空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
/* 空操作,用于输出404页面 */
public function _empty() {
header ( HTTP/1.0 404 Not Found ); // 使HTTP返回404状态码
$this->display ( Public:404 );
exit;
}