【问题标题】:Automating routes with Codeigniter使用 Codeigniter 自动化路由
【发布时间】:2013-01-21 21:03:53
【问题描述】:

我正在将 CI 作为一个模块集成到另一个脚本中,我需要配置和设置路由才能正常工作,但要从这个父脚本内部重写 mod 等等。

基本上启动父脚本会将所有带有m/MODULE_NAME 的URL 路由到模块文件夹。 在这个模块文件夹中,我让 CI 接管并处理发送给它的请求。

当我查看请求的所有片段时:http://www.example.com/folder/m/memberships

CI 像这样打印段:

array( [0] => 'folder', [1] => 'm', [2] => 'memberships' )

我试图弄清楚如何更改配置设置,以便在/m/memberships 之后自动完成路由。

现在我基本上是单独设置每条路线:

// Main config routes
$route['(:any)/m/memberships'] = 'home';
$route['(:any)/m/memberships/admin'] = 'admin/dashboard';
$route['(:any)/m/memberships/admin/config'] = 'admin/config';

我尝试将基本 url 设置为 http://www.domain.com/m/memberships,但即使是此处列出的路由也没有添加到段中,我无法将它们指向正确的控制器。

有人有什么建议吗?我对 CI 还很陌生。

编辑: 这些是我设置的一些配置,可能会有所帮助:

$config['base_url']   = 'http://www.domain.com/folder/';
$config['index_page']    = '';
$config['uri_protocol']  = 'AUTO';

【问题讨论】:

  • 如果它的控制器/方法,你不需要设置/admin/config。默认情况下它会这样做。
  • 这是一个非常特殊的设置,因为我在另一个脚本中并且将其留空是行不通的。我想我的配置问题比路由问题更多。
  • 你能说明你想要达到的目标吗?
  • 嘿,我在问题中添加了更多细节以提供帮助

标签: php codeigniter routes


【解决方案1】:

有两种方法可以做到这一点

1) 设置为$config['base_url'] = 'http://www.domain.com/folder/m/memberships'; 并清除路线

2) 设置路由$route['m/memberships/(:any)/(:any)'] = '$1/$2';

第一个更干净

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多