我已在家庭控制器中创建了自定义404 notfound方法
我设置了$ route [' 404_override'] =' home / notfound';
并且它适用于主域名之后未找到的网址(例如www.domain.com/uroetiuosyerit)
但是如果我输入了一个类名,那么一个无效的网址(例如www.domain.com/services/yersityijftnyutyum)就会显示默认的codeigniter 404内容
我使用codigniter 3和hmvc建模器扩展https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
答案 0 :(得分:2)
设置路径,例如:
$route['404_override'] = 'errormanager/my404';
然后是控制器 errormanager
,其功能如下:
public function my404(){
$data['menu']=$this->Sitemanager->get_menu();
$this->load->view('header',$data);
$this->load->view('custom404');
$this->load->view('footer');
}
和视图 custom404.php
是这样的:
<div class="my404"> 404 this page does not exist</div>
当您使用HMVC方法时,请确保可以从任何地方访问控制器errormanager
和视图,这意味着您需要在Codeigniter控制器+视图文件夹中找到它(应用程序\视图和应用程序) \控制器)而不是扩展模块HMVC结构
答案 1 :(得分:0)
示例和快速解决方案如下:
从(application / config / autoload.php,Ln 92)更改:
$ autoload ['helper'] = array();
至:
$ autoload ['helper'] = array('url');
转到application / view / errors / html / error_404.php并添加以下行:
redirect(base_url()); -返回首页所有404错误
要么
redirect(base_url('my_404')); -从视图到my_404文件
好运!