2015-07-20 160 views
0

我有一個內置在Codeigniter中的多語言網站。當前的語言被添加到所有的URL。例如site.com/en/basic/user/subscription其中「en」定義了語言。 在routes.php文件我有以下幾點:Codeigniter路由到不同的控制器

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

現在我想將所有來電:PRO /用戶/ *基本/用戶/ *。 Pro和Basic都是文件夾,用戶就是控制器。我在routes.php中試過這個,在上面的行下面。

$route['pro/user/(.*)'] = 'basic/user/$1'; 

我只得到了404。我在添加語言部分時也嘗試了不同的版本,但無法使其工作。嘗試使用(:任何)也。

+1

路由將按照它們定義的順序運行。較高的路線總是優先於較低的路線。確保沒有任何其他路線高於404. – TigerTiger

+0

這裏是codeigniter uri路由用戶指南http://www.codeigniter.com/user_guide/general/routing.html – user4419336

回答

0

我找到了一個工作解決方案。我把這個規則放在語言部分之上。

$route['(.*)/pro/user/(.*)'] = 'basic/user/$2';