質問: 現在fuelphpを利用してサイトを運営しております。 諸事情により、public直下にindex.phpを配置することができず、 サブフォルダにindex.phpを配置して運営しております。 public_html |____inquiry |__________ index.php .htaccess この状態で更に別フォルダにプログラムを配置しようと思い 同じようにサブフォルダ内にindex.phpを設定したのですが public_html |____function |__________ index.php .htaccess デフォルトコントローラーをroutes.phpにてindexと 指定しており、 でアクセスが あった場合は問題ないのですが、http://example/functionで アクセスするとhttp://example/inquiryの画面に遷移してしまいます。 というurlでのアクセスであれば、 意図したコントローラーに遷移するのですが、url的に見た目が よくない状態になっております。 こういった場合にどのように対処するかご存じであればご教示ください。
回答: routes.phpにどのような定義をされているかが分からないため確認になりますが、 にアクセス(実ファイルは public_html/inquiry/index.php)すると、 /fuel/app/classes/controller/index.phpのaction_indexメソッド が実行され、 にアクセス(実ファイルは public_html/function/index.php)すると、 /fuel/app/classes/controller/function.phpのaction_indexメソッドが実行されるようにしたいのでしょうか? /fuel/app/classes/contoroller/ 配下のコントローラで分けるのであれば、フロントコントローラで区別する必要はないと思いますが、何らかの理由でフロントコントローラを分ける必要があるのでば、フロントコントローラ毎のルーティングを定義する必要があります。 以下のサイトが参考になるかと思います。 FuelPHP リソースを共通化して複数サイトを構築する 強引ですが、routes.phpに 'function' => 'function/index', と定義する方法もありますが、inquiry側にも影響を与えてしまいます。