4

私はニュースサイトを公開するために使用されるcmsプロジェクトに取り組んでいます。多言語の問題にi18nプラグインを使用しています。問題はルーティングにあります。モジュールが呼び出され、その中にnewsメソッドpageがあり、ルートは次のように設定されています

$route['page/test'] = 'news/page/1';

これは私が行くときに問題なく動作します

http://localhost/site/page/test

i18nローカリゼーションプラグインを使い始めると問題が発生します。次に、このURLでのみ機能します。

http://localhost/site/en/news/page/test

URLをセグメントなしにしたいnews。これを解決するにはどうすればよいですか?前もって感謝します。

4

2 に答える 2

0

「/en/」がないため、ルートでは機能しなくなったのは正常に見えます

あなたは入れようとしましたか:

$route['en/page/test'] = 'news/page/1';

また

$route['en/page/test'] = 'en/news/page/1';

(i18nプラグはわかりません)

それが機能する場合、解決策はワイルドカードを使用することかもしれません:

$route['(:any)/page/test'] = "news/page/1";

また

$route['(:any)/page/test'] = "$1/news/page/1";

(ここでも、プラグi18nプラグが機能するかどうかはわかりません)

于 2012-03-14T17:23:03.740 に答える
0

これは、言語文字列の有無にかかわらず、すべてのコントローラーで機能します

$route['^([a-z]{2})/(.*)'] = '$2';
$route['^([a-z]{2})'] = $route['default_controller'];
于 2012-12-07T08:34:06.057 に答える