CodeIgniter URI路由(动态,多语言)

Kon*_*zov 5 multilingual routing codeigniter

我正在尝试将所有路径重定向到一个主控制器.这是我的routes.php

$route['default_controller'] = "main";
$route['scaffolding_trigger'] = "";

//$route['(\w{2})/(.*)'] = '$2';
//$route['(\w{2})'] = $route['default_controller'];

$route['(en|ge)/(:any)'] = $route['default_controller']."/index/$1";
$route['(:any)'] = $route['default_controller']."/index/$1";
Run Code Online (Sandbox Code Playgroud)

我需要通过每个链接传递语言ID(例如:http://site.com/en/hello-world)

这是我的主控制器:

class Main extends Controller
{
    function __construct()
    {
        parent::Controller();       
    }

    function index($page_type=false, $param=false) 
    {
        die($page_type.' | '.$param.'| Aaa!');  
    }
} 
Run Code Online (Sandbox Code Playgroud)

我想检查是否存在预定义的文件类型(例如:http://site.com/en/archive/05-06-2010 - 此处预定义类型将存档)然后执行某些操作.如果没有,那么在数据库中搜索slug.如果没有找到,请转到404.

问题是我无法获得索引函数参数($ page_type,$ param).感谢帮助.

Geo*_*rge 2

如果您可以看到路由工作正常,请尝试使用$this->uri->segment(n)?其中 n 是从 URI 获取的段号,即http://site.com/1/2/3/4/ ...

我已经看到使用像您正在使用的方法的隐式参数的问题。

有关更多信息,请参阅 CodeIgniter 用户指南 - URI 类:

http://codeigniter.com/user_guide/libraries/uri.html

祝你好运。