FuelPHPのURLからpublicを消す方法

FuelPHPをコマンドからインストールするとデフォルトではプロジェクト名/public/となります。このpublicを削除します。

  • プロジェクト名:sample
  • sample/public/welcome/

sampleフォルダの中に以下の.htaccessを作成して配置します。

<IfModule mod_rewrite.c>
  RewriteEngine on
	RewriteRule ^(/)?$ /sample/public/index.php/$1 [L]
	RewriteCond ${REQUEST_FILENAME} !-f
	RewriteCond ${REQUEST_FILENAME} !-d
	RewriteRule ^(.*)$ /sample/public/index.php/$1 [L]
</IfModule>

config/config.php を編集

'base_url' => '/sample/',

cssが読めなくなるので core/config/assets.php を編集

//'url' => Config::get('base_url')
'url' => Config::get('base_url').'public/',

これでできるようになります。