Codeigniter のルーティングの問題
私は codeigniter、特にルーティングの面にあまり詳しくありません。私が作成したコントローラーにアクセスすると、常に「route_error」エラーが発生します。
たとえば。と書きました。login.php コントローラは、controllers/admin ディレクトリに配置されています。www.abc.com/admin/login に直接アクセスすると、「route_error」エラーが表示されます。
route.php に次の行を追加すると:
$route['admin']="admin/login";
これで終わりです。でも、コントローラーを書くたびにroute.phpを修正するのは面倒ですよね。 !
以下は私のroute.phpファイルです。以前の使用に影響を与えずにコントローラーを通常どおりに作成できるように設定する方法を教えてください:
$route['default_controller'] = "welcome";
$route['scaffold_trigger'] = "";
//学校の名前/クラス名/姓名/写真アルバム/アルバム名/アップロード/
$route['([a-zA-Z0-9-_ ]+)/( [a-zA -Z0-9-_ ]+)/([a-zA-Z0-9-_ ]+)/(ビデオ|写真)-([a-zA-Z0-9-_ ]+)/ ([a- zA-Z0-9-_ ]+)/([a-zA-Z0-9-_ ]+)(/([a-zA-Z0-9-_ ]+))*'] = "user/$4 _$5/$7/$8";
$route['([a-zA-Z0-9-_]+)/school_admin/([a-zA-Z0-9-_ ]+)/ ([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)(/([a-zA-Z0-9-_]+)) *'] = "school_admin/$3/$4$5";
$route['([a-zA-Z0-9-_]+)/group_admin/([a-zA-Z0-9- _]+) /([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)(/([a-zA-Z0-9-_]+) )*'] = "group_admin/$3/$4$5";
//学校名/クラス名/ファーストネーム-ラストイニシャル/ゲーム/ゲーム名/
$route ['([ a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)/([a -zA-Z0 -9-_]+)/([a-zA-Z0-9-_]+)(/([a-zA-Z0-9-_]+))*'] = "ユーザー/ $4/$5/ $6";
//ログアウト
$route['(logout|login|register)'] = "メンバー/$1";
// 404
$route['(ゲーム|ビデオアルバム|写真アルバム|グループ|管理者|グループ管理者|年鑑|設定)(/.*)*'] = "エラー";
------解決策----------------------
www.abc.com/index.php/admin/login
------解決策------------------
queryphp フレームワークのルーティングでは、
という名前を使用できます。その他の設定では、独自のルーティング ルールを追加できます:
C("router")->ruleMaps('logout','/logout', array ( 'controller' => 'auth', 'action' => 'logout'));
C("router")->ruleMaps('signup','/signup', array('controller ' => '認証', 'アクション' => 'サインアップ'));
C("ルーター")->ruleMaps('プロファイル','/プロファイル/:アクション', array('コントローラー' => 'profile')); // 動的メソッド ":action()"
C("router")->ruleMaps('users','/users/:) を使用してコントローラー "Profile" を呼び出します。 id ', array('controller' => 'users'), array('id' => '[d]{1,8}')); // URL パラメータのフィルタを定義します
http://code.google.com/p/queryphp/downloads/list