codeingter3 HMVC 'default_controller'不工作



我在我的项目中使用了CI3 HMVC。现在,我面临路由问题。我希望用户输入 www.demosite.com 它会自动调用我的主模块。我不想像 www.demosite.com/home 那样表现出来。我想像 www.demo.com 一样显示网址。 为此,我在应用程序/配置/路由中设置默认控制器,如下所示;

$route['default_controller'] = "home";

同样在我的内容模块中,我添加了一个路由文件夹,我在其中写了

$route['home'] = 'home';

这是我的.htaccess。

AddType text/x-component .htc
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !(index.php|assets/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

这是我的家庭控制器

class Home extends MX_Controller{
function __construct(){
parent::__construct();
}
function index($stub=""){
$baseUrl=base_url();
$this->load->helper("url");
echo $this->_showHomepage();      
}
}

但是,当我运行这个时。我收到 404 错误。 我该怎么做才能解决这个问题?提前谢谢。

HMVC应该是这样的

这只采用不允许目录的方法 所以默认控制器在控制器下

$route['default_controller'] = 'pages/pages/view';
$route['default_controller'] = 'pages';

索引是调用的默认方法。

$route['home'] = 'authentication/home/index';
$route['home'] = 'authentication/home'; 

而且您需要更改.htaccess文件以匹配该网址

URI 路由 : https://codeigniter.com/user_guide/general/routing.html#examples

更新:

(defined('BASEPATH')) OR exit('No direct script access allowed');
class Site extends MY_Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->load->view('url');
}
}

我解决了。我将主文件夹从模块文件夹移动到控制器文件夹,然后,它才开始工作

相关内容

  • 没有找到相关文章

最新更新