0

アプリケーションに多言語サポートを追加していて、routes.php で特定のルートが機能しなくなったという問題が発生しています。

セグメントが 1 つあれば機能しますが、セグメントが 2 つ以上ある場合は機能しません。

これを修正する方法についての助けをいただければ幸いです。

Routes.php の抜粋:

// URI like '/en/about' -> use controller 'about'
$route['^(en|br)/(.+)$'] = "$2";
$route['dashboard'] = 'dashboard';    //THIS WORKS
$route['profile'] = 'profile/profile_list';
$route['profile_list/page'] = 'profile/profile_list';    //THIS DOESN'T
$route['profile_list/page/(:any)'] = 'profile/profile_list/$1';
$route['profile/update'] = 'profile/update';
$route['profile/(:any)'] = 'profile/$1';
$route['default_controller'] = 'landing';
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller
$route['^(en|br)$'] = $route['default_controller']; 
4

1 に答える 1

1

Codeigniter フォーラムからの情報を使用して、これに対する答えを見つけました。

この変数を追加する必要がありました。これには、使用する 2 文字の言語コードの URL セグメントが含まれます。

$prepended_lang = "(?:[a-zA-Z]{2}/)?"; 

次に、それに応じてルートを変更します。

$route[$prepended_lang.'logout'] = 'login/logout';
于 2012-04-25T15:05:04.447 に答える