複数言語のサイトがあります。私のニュース ページでは、ページネーション変数をコントローラーにルーティングするための 2 つのルールがあります。1 つはすべての言語 (en、ct、cs、kr) 用で、もう 1 つはデフォルト言語用です。
Routes.php
$route['^(en|ct|cs|kr)/news/page/(:num)'] = 'news/index/$1';
$route['news/page/(:num)'] = 'news/index/$1';
ニュースコントローラー
public function index($id)
{
echo $id;
}
ルートはニュース コントローラーにアクセスしていますが、パラメーターはメソッド$id
に渡されていません。index()
エコーする$id
と、期待しているページネーション変数ではなく言語セグメントが返されます。
mysite.com/en/news/page/2 // $id は「en」を返します。
mysite.com/kr/news/page/2 // $id は 'kr' を返します。
言語ごとに個別にルートを書き出すと機能します。
$route['en/news/page/(:num)'] = 'ニュース/インデックス/$1';
正規表現のどこかで間違っていますか?