2

codeigniterを使用してWebアプリケーションを開発しています。コントローラに「Administration」という名前のフォルダを作成しました。このフォルダー内に、管理パネルに関連するすべてのコントローラーを保管しました。

ここで、ユーザーがURLをwww.mywebsite.com/administrationと入力した場合、管理後に次のセグメントとして表示されるものはすべて、ユーザーをそれぞれのコントローラーにリダイレクトする必要があります。ユーザーがwwww.mywebsite.com/administration/loginと入力した場合と同様に、ログインコントローラーを実行する必要があります。まあ、これはかなり明白なことです。

今私が欲しいのは、誰かがwww.mywebsite.com/anything_elseと入力すると、デフォルトで他のコントローラーに転送されるはずです。次のルート設定を使用しています。

$route['default_controller'] = 'welcome';
$route['404_override'] = ''; 
$route['administration/(:any)']='administration/$1';
$route['(:any)']='fetch_pages';

ご案内ください。

4

2 に答える 2

0
$route['^(?!administration).*'] = "fetch_pages";
$route['administration/(:any)']='Administration/$1';

管理で大文字「A」のフォルダを作成したと思います

于 2012-06-04T07:22:03.683 に答える
0

別のアプローチを行うことをお勧めします。

$route['default_controller'] = 'welcome';
$route['404_override'] = 'fetch_pages/index'; 

このソリューションにより、明らかなadministrationルートの宣言をスキップできるようになり、他のすべてのパスはfetch_pagesコントローラーを介して呼び出されます。

404_override についてもっと読む

必要に応じて、urishow_404()に基づいてデータが見つからない場合に実行を検討することをお勧めします。

于 2012-06-04T07:10:17.143 に答える