具有两个段的CodeIgniter路由不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有两个段的CodeIgniter路由不起作用相关的知识,希望对你有一定的参考价值。

我正在使用CodeIgniter与多种语言和城市网站。对于以下多种语言,路由工作正常(URL = www.mywebsite.com/en/

/*
| -------------------------------------------------------------------------
| Multilingual routing (use 2 characters (e.g. en, zh, cn, es) for switching languages)
| -------------------------------------------------------------------------
*/
$route['^(\w{2})/(.*)$'] = '$2';
$route['^(\w{2})$'] = $route['default_controller'];

但是当像www.mywebsite.com/en/del/这样的URL然后路由不起作用时,代码如下

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

在哪里我错了,有什么想法吗?

答案

这是因为你的正则表达式是不正确的,^标志着字符串的开头,你不能像这样在中间使用它。请尝试使用以下代码(DEMO):

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

以上是关于具有两个段的CodeIgniter路由不起作用的主要内容,如果未能解决你的问题,请参考以下文章

路由不起作用codeigniter

CodeIgniter 路由不起作用

路由配置在codeigniter中不起作用

CodeIgniter路由在子目录中不起作用

在codeigniter中连接两个数据库不起作用

codeigniter 自定义 404 页面不起作用