http://mg1986jp.xsrv.jp/index.php/welcome/hello/name
fuelphpを入れていますがこのindex.phpは
fuelphp/public/index.phpではなく
mg1986jp.xsrv.jp/public_html/index.php -> ../lib/fuelphp/public/
のindex.phpです。
fuelphpにもindex.phpをURLに表示させるかどうかの設定がありますがそれを有効にすると下記のようになります。
http://mg1986jp.xsrv.jp/index.php/index.php/welcome/hello/name
大変カオスなことになるのでfuelphpではindex.phpはURLに含めない設定にしているのですが、問題はapache側の設定(.htaccess)で、mod_rewriteについて調べて試行錯誤しているます。
mod_rewriteについて
これを参考にどこかしらのサイトに飛ばすぐらいのことはできるようになったのですが、
http://mg1986jp.xsrv.jp/index.php/welcome/hello/name
のURLの文中に含まれるindex.phpを書き換える方法といいますか、この場合はどうすればいいのかがわかりません。
[mod_rewrite] index.htmlを省略したURLにリダイレクトする.htaccess
# URL から index.html と index.php を無くす mod_rewriteモジュール RewriteEngine on # アクセスしたファイル名が index.html または index.php かどうかをチェック RewriteCond %{REQUEST_FILENAME} index.(html|php) # ルートディレクトリ用 RewriteRule ^index.(html|php)$ / [R=301,L] # サブディレクトリ用 RewriteRule ^(.*)/index.(html|php)$ /$1/ [R=301,L]
これはファイル名がindex.phpかindex.htmlの場合なので下記のような場合に有効だと思います。
http://mg1986jp.xsrv.jp/index.php
http://mg1986jp.xsrv.jp/index.html
私の場合の
http://mg1986jp.xsrv.jp/index.php/welcome/hello/nameは
index.phpはファイルというかリンボリックリンクでなおかつ、urlの最後ではなく途中に含まれている文字列のためどう検出して、どういう記述をすればいいのかがわかりません。
追記
下記2パターンのpublic_html配下です。
index.phpは普通のファイルです。
これでhttp://mg1986jp.xsrv.jp/にアクセスすると省略できています。
ファイルだからなのか、、、
[mg1986jp@sv5015 public_html]$ ll -rw-r--r-- 1 mg1986jp members 1 1月 19 01:43 .htaccess -rw-r--r-- 1 mg1986jp members 17 1月 19 01:44 index.php
index.phpはシンボリックリンクです。
これでhttp://mg1986jp.xsrv.jp/にアクセスするとご丁寧にhttp://mg1986jp.xsrv.jp/index.htmlとなります。
ちなみに.htaccessは未設定でなにも記述していません。
この挙動は標準なのでしょうか、、、
[mg1986jp@sv5015 public_html]$ ll -rw-r--r-- 1 mg1986jp members 1 1月 19 01:43 .htaccess lrwxrwxrwx 1 mg1986jp members 21 1月 19 01:45 index.html -> ../lib/sample/public/
とにかく、シンボリックリンクでもindex.htmlを省略したいのです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。