我正在使用HMVC运行CI 3.0。在我的本地XAMPP一切正常,但在我的(Linux)实时服务器上,我从CI收到错误404(找不到页面)。
我已经过了几个小时,我发现要解决这个问题......没有成功!
以下是我现在所拥有的:
$route['default_controller'] = 'default';
htaccess的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>
我的结构:
-application
- 模
---默认
----控制器
- - - - 如default.php
我的控制器Default.php:
class Default extends MY_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
....
}
}
CI错误日志错误:
错误 - 2015-04-02 13:15:56 - &gt;找不到404页面:../ modules / default / controllers // index
..仍然是404.这有什么问题???
答案 0 :(得分:0)
检查所有控制器和库是否已开始大写即欢迎。在您的核心/ MY_Controller中,您可以通过 MX_Controller
进行扩展<强>芯/ MY_Controller 强>
class MY_Controller extends MX_Controller {}
<强>配置/ routes.php文件强>
$route['default_controller'] = "default/default/index";
hmvc中的路由需要 module-name / controller-name / function
当你从那里下载hmvc时,请确保你去分支机构并为你的codeigniter下载正确的版本“HMVC默认下载”适用于codeigniter 2
虽然我认为现在只有codeigniter hmvc 3可供下载。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads
我在下面的主目录中也使用了htaccess。您还可以从此处下载更多htaccess文件。下载部分http://www.insiderclub.org/。
Options +FollowSymLinks
Options -Indexes
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
Order deny,allow
Deny from all
</FilesMatch>
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
答案 1 :(得分:0)
知道了!
为了使用HMVC进行测试/开发,我将原始文件夹应用程序/控制器重命名为application / controllers_off。 我的控制器位于:
应用/模块/默认/控制器/
所以我想我可以重命名或删除原始文件夹
文件夹应用程序/控制器是空的,但似乎HMVC扩展需要此文件夹。因此将其重命名为“控制器”解决了我的问题。
难以置信!!!