2016-09-10 8 views
0

アプリケーション/コアにMY_Routerファイルを追加してデフォルトのコントローラをサブディレクトリから実行すると、すべて正常に動作しますが、これは私が今直面していることです。urlヒット/管理者または/学生または/教師は最終的にコントローラのサブディレクトリです。Codeigniter 3.1.0ルーティングの問題

https://s14.postimg.org/pr3ta38f5/controller_structure.png 
    https://s14.postimg.org/z05zk7hb5/error_1.png 
    https://s14.postimg.org/mmt5darmp/issue_2.png 
    https://s14.postimg.org/kwa4bta3l/page_controller.png 
    https://s14.postimg.org/j5voo2hy9/routes.png 
+0

あなたのMY_Routerはどのように見えますか?また、コントローラをサブディレクトリに配置して、ルータのデフォルトからポイントすることもできませんでしたか? $ route ['default_controller'] = 'ディレクトリ/コントローラ/メソッド'; – darham

+0

http://stackoverflow.com/questions/34808054/how-to-use-a-sub-folder-in-default-controller-route-in-codeigniter-3 ここにMY_Router.phpコードがあります – Mysticalsam

答えて

0

はあなたのフォルダ構造は、このようにある場合:

- controllers 
    - teachers 
    - Teacher_home.php 

    - students 
    - Student_home.php 

    - admin 
    - Admin_home.php 

その後、通常のCIルーティングは次のようになり、デフォルトのインデックスメソッドへのURLを次のようになります。

mysite/teachers/teacher_home 
mysite/students/student_home 
mysite/admin/admin_home 

あなたのルートでしその後のポイントmysite/teacher_homeを次のように上記の関連コントローラに追加します。

$route['teacher_home'] = 'teachers/teacher_home'; 

CIドキュメントでは、使用できるワイルドカードについて説明しています。http://www.codeigniter.com/user_guide/general/routing.html

しかし、どのルートも有効なコントローラ/メソッドURLを指している必要があります。あなたのサイト/アプリを通常のデフォルトルーティングで動作させてから、後で代替ルーティングを追加してください。

したがって、現在のルートを削除してください。もしあなたがデフォルトルートを持っていれば、正しく書かれていないか、正しい順序で書かれていれば、おそらく他のルートを混乱させるでしょう。

希望すると、