Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 如何在codeigniter中将404页面重定向到主页_.htaccess_Codeigniter_Redirect - Fatal编程技术网

.htaccess 如何在codeigniter中将404页面重定向到主页

.htaccess 如何在codeigniter中将404页面重定向到主页,.htaccess,codeigniter,redirect,.htaccess,Codeigniter,Redirect,我想将所有404错误自定义页面重定向到codeigniter中的主页,如果有人在正确的url后键入内容,则用户将重定向到主页。首先,转到配置->路由,然后向下滚动,直到找到 $route['404_override'] = 'error404'; //by default it's '' (empty) 其次,创建一个控制器Error404.php <?php class Error404 extends CI_Controller { public function __con

我想将所有404错误自定义页面重定向到codeigniter中的主页,如果有人在正确的url后键入内容,则用户将重定向到主页。

首先,转到配置->路由,然后向下滚动,直到找到

$route['404_override'] = 'error404'; //by default it's '' (empty)
其次,创建一个控制器Error404.php

<?php
class Error404 extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        redirect('home'); //your controller (like Home.php or any controller that you want to call)
    }
}


编辑error_404.php文件
(文件路径:application/views/errors/html/error_404.php)

在标签前面添加代码,如下所示:

<?php
header("Location: $yourhomepageurl");

注意:我使用的是codeigniter 3also,如果你问我为什么要创建新控制器而不是将主控制器置于覆盖中:你可以直接从404_overide调用“主”控制器,它也会将你引导到主控制器。但是地址栏不会被更新(例如,如果你把www.yourdomain.com/xxxxxx/xxxxx/xxxxx放在上面,如果你直接从404撸外呼叫“home”,你将被定向到home,但是地址栏保持在www.yourdomain.com/xxxxxx/xxxxx,而不是www.yourdomain.com/home。你能发布“正确的url”是什么吗?