プロが教えるわが家の防犯対策術!

codeigniterで開発をしようとしています。
まだ慣れていないのかうまくいかないことが多々あって困っています。
たとえば
http://hogehoge.com/
のindex.phpを簡易的なURLで表示しようとしたときに
.htaccessを
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.+)$ /index.php?/$1 [L]
として、
config.phpのdefaultコントローラをwelcome.php
としています。
で、問題なのが
http://hogehoge.com/sub/
のindex.phpを表示させようとしたところ、
デフォルトコントローラの設定と.htaccessの設定により
TOPページを表示してしまいます。
どのように対処したらいいでしょうか?
教えてください。
よろしくお願いします。

A 回答 (2件)

/sub/ の index.php って、CodeIgniterとは別に、実在の /sub/index.php にアクセスさせたいという意味ですか?


であれば、
RewriteEngine On
の次に以下2行
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
以降に、codeinteger 用の設定記述

全部を、フレームワークで作るのでないなら(フレームワーク以外のプログラムもおくのなら)、フレームワーク全体をサブディレクトリーにいれて、それ以外は、別のサブディレクトリーに、というように分けるのが普通だと思うけど。
    • good
    • 0

そもそもそのmod_rewriteでどのように書き換えて欲しいかがわかりませんが



http://hogehoge.com/sub/
とアクセスされた場合に
http://hogehoge.com/index.php/sub/
となってほしいのであれば、

ルールのindex.phpの後ろの?が要らないんじゃないですか?
RewriteRule ^(.+)$ /index.php/$1 [L]

この回答への補足

subディレクトリのindex.phpを
http://hogehoge.com/index.php/sub/
ではなく
http://hogehoge.com/sub/
の形式でアクセスしたいです。
教えていただいた方法では、ドキュメントルートのhoge.phpが表示されなくなりました。
すみませんが、お願いします。

補足日時:2012/04/30 10:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!