1

URL からパラメーターを取得し、それをデフォルト コントローラーのインデックス関数に提供するアプリケーションを作成しようとしています。次に、このパラメーターに応じて、デフォルトのホームページまたはカスタム ページのどちらをロードするかを決定します。

$route['(eventguide/:any)'] = 'eventguide';

このコードは機能しますが、次のように URL にコントローラーがある場合にのみ機能します。

example.com/eventguide/(パラメータ)

コントローラー名を含めたくありません。したがって、これをルーティングする方法が正確にはわかりません。

理想的には、URL は example.com/(parameter) のようになりますが、これは可能ですか?

4

1 に答える 1

3

はい、もうすぐです。

$route['(:any)'] = "eventguide/index/$1";

そして、 index() メソッドでパラメーターを取得します。

public function index($parameter = null){

}

$parameterショートカットによってキャッチされたものはすべて含まれるようになりました。これはIIRC:anyと同等である必要があります(\w)+

これはキャッチオール ルートであるため、必要な他のカスタム ルートをそのに配置するように注意してください。
たとえば、コントローラーが「admin」の場合、ルート ファイルは次のようになります。

$route['admin'] = "admin";
$route['(:any)'] = "eventguide/index/$1";
于 2013-09-26T14:38:53.623 に答える