PHPフレームワーク・FuelPHPでURLからpublicを消す方法

【FuelPHP】URLからpublicを消す方法

FuelPHPをインストール後、ページにアクセスする際のURLに「public」をつけなければアクセスできないようになっています。

例えば、ローカル環境の「fuelphp_pl」というフォルダ下にFuelPHPをインストールした場合のトップページのURLは「http://localhost/fuelphp_pl/public/」になります

今回はURLから「public」を削除する方法を解説します。

1つのファイルの追加と、2つのファイルの編集だけの簡単な作業なので、ぜひお試しください。

この記事では、FuelPHP 1.9-devで解説しています

目次

.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で、開発を進めてみてくださいね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次