FuelPHPをインストール後、ページにアクセスする際のURLに「public」をつけなければアクセスできないようになっています。
例えば、ローカル環境の「fuelphp_pl」というフォルダ下にFuelPHPをインストールした場合のトップページのURLは「http://localhost/fuelphp_pl/public/」になります
今回はURLから「public」を削除する方法を解説します。
1つのファイルの追加と、2つのファイルの編集だけの簡単な作業なので、ぜひお試しください。
.htaccessを作成する
まずはプロジェクト直下に「.htaccess」を作成します。
中身のソースは以下を記述します。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(/)?$ /fuelphp_pl/public/index.php/$1 [L]
RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /fuelphp_pl/public/index.php/$1 [L]
</IfModule>
3行目と6行目の「fuelphp_pl」の部分は、ご自身が作ったプロジェクト名(フォルダ名)に書き換えてください。
asset.phpを編集する
次にプロジェクト下の「fuel\core\config」フォルダの中に保存されている「asset.php」を以下のように編集します。
おおよそ105行目あたりです。
// 'url' => (string) \Config::get('base_url'), 元のソース
'url' => (string) \Config::get('base_url').'public/',
ここの記述はバージョンによって異なります。
もし「1.9-dev」以外のバージョンの場合は、おおよそ元のソースに「.’public/’」を追記するイメージで大丈夫かと思います。
config.phpを編集する
さいごに、プロジェクト下の「fuel\core\config」フォルダの中に保存されている「config.php」を以下のように編集します。
おおよそ30行目あたりです。
// 'base_url' => null, デフォルトでは、コメントアウトされている
'base_url' => '/fuelphp_pl/', // プロジェクト名にする
「fuelphp_pl」の部分は、ご自身が作ったプロジェクト名(フォルダ名)に書き換えてください。
ブラウザで確認する
では、「public抜き」のURLでアクセスできるようになったか確認してみましょう。
例えば「http://localhost/fuelphp_pl/public/」でアクセスしていた場合は「http://localhost/fuelphp_pl/」でアクセスしてみます
「public」が取れてスッキリなURLで表示できました!
さいごに
FuelPHPのURLから「public」を消す方法を解説しました。
バージョンによって「asset.php」ファイルの記述方法は異なるようです。
元のソースを参考にすると簡単に対応できるので、もしうまく動作しなかった場合は元のソースを見てみてください。
「public」を抜かしてスッキリしたURLで、開発を進めてみてくださいね!