0

我正在与 PHP 框架 Codeigniter 密切合作:http: //www.codeigniter.com/

现在我已经将这个模块化扩展 - HMVC 添加到我的 Codeigniter 框架中。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview

现在,我在 modules 文件夹中创建了自己的模块,并按照说明为控制器、模型和视图设置了目录。但是,我正在专门为自定义路由而苦苦挣扎。

我在我的模块博客目录中创建了配置目录,并在其中创建了 routes.php 文件。

现在要在浏览器中访问我的模块,localhost:8888/blog/我现在主要是出于好奇而询问,我想创建一个自定义路由,以便我可以像这样访问页面,localhost:8888/posts/所以我认为设置以下路由会起作用:

$route['posts'] = 'blog';

或者如果我有一个名为 Listings 的方法,我可以使用

$route['posts/listings'] = 'blog/listings';

但是,这会返回一个404 Page Not Found.

是否可以在模块中创建这样的自定义路由?

4

1 回答 1

3

下面是为 HMVC Easy 设置自定义路由的一些示例。您可以对 CI3 使用相同的技术 确保从此处选择正确的版本https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads转到分支并选择您的版本 默认为 CI-2

$route['default_controller'] = 'catalog/common/welcome/index';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

// Common
$route['admin'] = "admin/common/login/index";
$route['admin/dashboard'] = "admin/common/dashboard/index";
$route['admin/logout'] = "admin/common/logout/index";
$route['admin/register'] = "admin/common/register/index";

// Users
$route['admin/users/user_edit/(:any)'] = "admin/user/users/user_edit/$1";
$route['admin/users/user_password/(:any)'] = "admin/user/users/user_password/$1";
$route['admin/users/user_key/(:any)'] = "admin/user/users/user_key/$1";

例如:

admin 将是模块名称。

application modules / admin <-- Admin Module Name

application / modules / admin / controllers / common <-- Sub folder
application / modules / admin / controllers / users <-- Sub folder

请在 HMVC 上观看这个针对初学者的精彩教程https://www.youtube.com/watch?v=8fy8E_C5_qQ

您也可以从这里下载 Htaccess http://www.insiderclub.org/downloads您可能需要免费加入才能下载适用于 codeigniter 的 David's Insider Club。

于 2015-03-31T03:44:54.917 回答