このページは、PHPのフレームワーク「FuelPHP」の学習中の僕がメモとして残しているものです。内容に間違いがあればご連絡いただけると幸いです。
FuelPHPの設定をいじらずに使った場合はURLは「プロジェクト名/public/コントローラー名/アクション名」という形になります。
正直、「public」が邪魔ですよね。
なんか見栄え悪いし。
そこで、このURLのpublicを取り除く方法について紹介します。
「public」を取り除くための設定手順
全体の流れは次のようになります。
- .htaccessの作成
- asset.phpの作成
- 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や画像が読み込めなくなるので次の作業を行います。
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のオススメ書籍
(2024/12/11 19:47:12時点 Amazon調べ-詳細)