【FuelPHPの使い方】URLから「public」を取り除く方法

始めに

このページは、PHPのフレームワーク「FuelPHP」の学習中の僕がメモとして残しているものです。内容に間違いがあればご連絡いただけると幸いです。

FuelPHPの設定をいじらずに使った場合はURLは「プロジェクト名/public/コントローラー名/アクション名」という形になります。

正直、「public」が邪魔ですよね。

なんか見栄え悪いし。

そこで、このURLのpublicを取り除く方法について紹介します。



「public」を取り除くための設定手順

全体の流れは次のようになります。

  1. .htaccessの作成
  2. asset.phpの作成
  3. config.phpの修正

それぞれ、順に解説していきます。

.htaccess を作成する

プロジェクトフォルダの直下に「.htaccess」というファイルを作成し、その中に以下の内容を記述します。

※下の「sample-project」という記述はプロジェクト名の例ですので、あなたが今回作ったプロジェクト名に置き換えてください。

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

上記の設定により、publicを除いたURLでアクセスできるようになります。

ただし、これだけだとCSSや画像が読み込めなくなるので次の作業を行います。

MEMO

ちなみに「.htaccessって何?」と思った方は、以下の記事が参考になります。

参考 .htaccessとは?Qiita

asset.phpを作成する

fuel/core/config」 にある「asset.php」をコピーして「fuel/app/config」にペーストします。

そして、ペーストしたファイルを開き、次のように修正します。

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

config.phpを修正する

fuel/app/config」配下にある「config.php」ファイルを開き、次のように修正します。

※下の「sample-project」はプロジェクト名の例ですので、あなたが今回作ったプロジェクト名を書いてください。

// 'base_url' => null,
base_url' => '/sample-project/',

以上で設定は完了です。

publicを除いたURLでアクセスし、正常に動いたらうまく設定ができていることになります。

 

FuelPHPを利用している人で、「public」の消し方がわからず困っているという方は試してみてください。

FuelPHPのオススメ書籍

created by Rinker
¥4,750 (2022/12/06 06:33:35時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA