每次,当我尝试在CodeIniter中添加新控制器时,我都会得到以下结果:
404找不到页面
找不到您请求的页面。
carsadmin.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'];
试试看:-
<?php
class Carsadmin extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('news_model');
}
public function index()
{
echo 'Hello World!';
die;
}
}
?>
YOu将需要一个写有以下内容的htaccess文件。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
问题是,可以通过在URL中添加/索引,然后添加控制器名称来访问控制器。
因此,您需要一个htaccess文件来删除该问题。
如果使用codeigniter v4.2.11首先,您应该通过路径创建新的控制器app/Controllers/Castadmin.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