codeigniter添加一个新的控制器得到404

tzdcorbm  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(119)

每当我尝试在CodeIniter中添加新控制器时,都会得到以下结果:
404页面未找到
您访问的页面不存在!

  • 用户名:php *
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 class Carsadmin extends Base_Controller {
       public function index(){
    echo 'Hello World!';
   }
 }

你知道为什么会发生这种情况吗?我需要改变路线文件吗?

$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['^(en|ar|ru)/pages/(.+)$'] = 'pages/index/$2';
$route['^(en|ar|ru)/profile/([0-9]+)$'] = '/profile/index/$2';
$route['^(en|ar|ru)/admin$'] = 'admin/dashboard';
$route['^(en|ar|ru)/(.+)$'] = "$2";
$route['^(en|ar|ru)$'] = $route['default_controller'];
jogvjijk

jogvjijk1#

试试看:-

<?php

class Carsadmin extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('news_model');
    }

    public function index()
    {
        echo 'Hello World!';                   
            die;

    }

}

?>
rks48beu

rks48beu2#

你需要一个htaccess文件,里面写有以下内容。

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

问题是可以通过在URL中添加/index然后添加控制器名称来访问控制器。
因此,您需要一个htaccess文件来解决这个问题。

w3nuxt5m

w3nuxt5m3#

如果你使用codeigniter v4.2.11,首先你应该通过路径app/Controllers/Carsadmin.php创建新的控制器

<?php
    namespace App\Controllers;
    class Carsadmin extends BaseController {
        public function index()
        {
            echo "<h1>Hello World!</h1>";
        }
    }
?>

现在打开文件app/config/Routes.php并添加新路由

$routes->get('carsadmin', 'Carsadmin::index');

现在在浏览器中打开链接

http://yousite.com/carsadmin  or  http://yousite.com/carsadmin/index

相关问题