インストール方法 - インストール - FuelPHP ドキュメントにサブフォルダにインストールする場合という手順があります。
自分がFuelPHPをインストールするときに「サブフォルダにインストールする場合」に合致すると思っていなかったので記録します。
「サブフォルダにインストールする場合」というのは、
例えば
http://erogamescape.dyndns.org/fuelphp/
をトップページにしたいという場合です。
fuelphpを
/home/guest/fuelphp
に格納した場合、Apacheの設定に
Alias /fuelphp /home/guest/fuelphp/public
を書くかなと思います。
こうすると、
http://erogamescape.dyndns.org/fuelphp/
は見られるのですが、例えば
http://erogamescape.dyndns.org/fuelphp/user
とすると
自分がFuelPHPをインストールするときに「サブフォルダにインストールする場合」に合致すると思っていなかったので記録します。
「サブフォルダにインストールする場合」というのは、
例えば
http://erogamescape.dyndns.org/fuelphp/
をトップページにしたいという場合です。
fuelphpを
/home/guest/fuelphp
に格納した場合、Apacheの設定に
Alias /fuelphp /home/guest/fuelphp/public
を書くかなと思います。
こうすると、
http://erogamescape.dyndns.org/fuelphp/
は見られるのですが、例えば
http://erogamescape.dyndns.org/fuelphp/user
とすると
Not Found
The requested URL /home/guest/fuelphp/public/index.php/user was not found on this server.
となります。これを解決するために公式ドキュメントに書いてある通り
.htaccess ファイルをエディタで開き、RewriteRule ^(.*)$ /[サブフォルダのディレクトリ]/index.php/$1 の部分を変更します。
をする必要があります。
書き換えないといけない箇所は3箇所です。
ご自身の該当する環境が分かればピンポイントで一箇所書き換えればよさそうです。
別解として、多分
RewriteBase /fuelphp
を追加するでもいいと思いますが自信がないです。
となります。これを解決するために公式ドキュメントに書いてある通り
.htaccess ファイルをエディタで開き、RewriteRule ^(.*)$ /[サブフォルダのディレクトリ]/index.php/$1 の部分を変更します。
をする必要があります。
書き換えないといけない箇所は3箇所です。
# deal with php5-cgi first
<IfModule mod_fcgid.c>
RewriteRule ^(.*)$ /fuelphp/index.php?/$1 [QSA,L]
</IfModule>
<IfModule !mod_fcgid.c>
# for normal Apache installations
<IfModule mod_php5.c>
RewriteRule ^(.*)$ /fuelphp/index.php/$1 [L]
</IfModule>
# for Apache FGCI installations
<IfModule !mod_php5.c>
RewriteRule ^(.*)$ /fuelphp/index.php?/$1 [QSA,L]
</IfModule>
</IfModule>
ご自身の該当する環境が分かればピンポイントで一箇所書き換えればよさそうです。
別解として、多分
RewriteBase /fuelphp
を追加するでもいいと思いますが自信がないです。