rockey329 发表于 2011-5-14 15:25:38

【自定义404页面】

本帖最后由 rockey329 于 2011-5-16 15:19 编辑

终于搞定了自定义404,拿出来分享一下,高手无视
{:3_57:}

=====================


//先修改 config/routes.php 其中error是控制器名称,error_404是方法名

$route['404_override'] = "error/error_404";



//在error_404()方法里设置数据,跟普通方法一样

function error_404()
{
    $this->output->set_status_header('404');
    echo "404 - not found";
}



注意:404错误页面<512bytes时,浏览器,如chrome和ie会提示友好的错误信息,例如:
Oops! This link appears to be broken.

kissgxd 发表于 2011-5-14 19:48:57

回复 rockey329 的帖子

在控制器里引用一下url helper
$this->load->helper("url");
使用site_url() 或者 base_url()的都需要load->helper("url");

乌有 发表于 2011-5-14 20:02:02

现在router配置文件可以定义控制器了.

rockey329 发表于 2011-5-15 11:05:29

回复 kissgxd 的帖子

我是直接autoload 的help url,还有,我要改的是默认的404页面,不是调用 show_404

jeongee 发表于 2011-5-16 10:59:37

回复 rockey329 的帖子

CI2.0开始可以在routes.php中,重新指定404页面
$route['404_override'] = '';

rockey329 发表于 2011-5-16 13:18:13

回复 jeongee 的帖子

感谢回答,可以了,但是有个新问题,我在error_404这个方法里面,用了$this->output->set_status_header('404');后,chrome下是提示chrome的无法找到,而不是我自己写的,这是什么原因?

rockey329 发表于 2011-5-16 15:20:09

终于搞清楚了,希望对新手有帮助:lol

xiaozhuaisnow 发表于 2012-8-24 14:51:03

jeongee 发表于 2011-5-16 10:59 static/image/common/back.gif
回复 rockey329 的帖子

CI2.0开始可以在routes.php中,重新指定404页面


tk   @ jeongee

另外问一下,application/error/下面的文件属于什么性质
是类似于controller还是model或者是其他,我看api上没有明确说明

jeongee 发表于 2012-8-24 14:53:37

xiaozhuaisnow 发表于 2012-8-24 14:51 static/image/common/back.gif
tk   @ jeongee

另外问一下,application/error/下面的文件属于什么性质


那里都是CI内部调用的,也就是system/core/Exceptions.php里调用的

xiaozhuaisnow 发表于 2012-8-24 16:23:28

jeongee 发表于 2012-8-24 14:53 static/image/common/back.gif
那里都是CI内部调用的,也就是system/core/Exceptions.php里调用的

谢谢 !
页: [1]
查看完整版本: 【自定义404页面】