Posted on

by

in

,

FuelPHPのindex.phpを省略する

前回の状態でセットアップは完了かなと思っていたのですが、コントローラを追加しても上手く表示できませんでした。
試してみたところ、URLにindex.phpをつければ大丈夫なようでした。
でもスカッフォルドで作ったページで、編集ページへのリンクのindex.phpが省略されていてリンクが機能していません。

FuelPHPに最初から入っている .htaccessにmod_rewriteの設定がコメントアウトされている状態で入っていたので、これを有効にすると index.php を省略して表示できるようになりました。

ファイルを開けばすぐにわかると思いますが、変更内容はこんな感じ。
RewriteBaseの値は、動かす環境に合わせる必要があります。

diff --git a/public/.htaccess b/public/.htaccess
index bffe79e..e99dd49 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -9,7 +9,7 @@

# NOTICE: If you get a 404 play with combinations of the following comme
nted out lines
#AllowOverride All
- #RewriteBase /wherever/fuel/is
+ RewriteBase /~ユーザ名/プロジェクト名/

# Restrict your site to only one domain
# !important USE ONLY ONE OPTION
@@ -26,9 +26,9 @@
#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

# Remove index.php from URL
- #RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
- #RewriteCond %{THE_REQUEST} ^[^/]*/index.ph
p [NC]
- #RewriteRule ^index.php(.*)$ $1 [R=301,NS,L]
+ RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
+ RewriteCond %{THE_REQUEST} ^[^/]*/index.ph
p [NC]
+ RewriteRule ^index.php(.*)$ $1 [R=301,NS,L]

# Send request via index.php (again, not if its a real file or folder)
RewriteCond %{REQUEST_FILENAME} !-f

コメントを残す

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