LoginSignup
10
14

More than 5 years have passed since last update.

CodeIgniterで初期表示。のための設定。

Posted at

サーバーのことがわからないと多分ハマるステップ


初歩のしょ
MVCをおさらいしつつ、ベーシカルなページを作って表示しようとして参考にしたのはこちら:
軽量PHPフレームワーク 'CodeIgniter' 徹底ガイド!
CodeIgniter ユーザガイド 日本語版 Version 2.0.3

ルーティングとmod_rewrite

ルーティング=パスやクエリ文字列によって、処理されるクラスやアクションメソッドが決定される
ttp://localhost/ドメイン/index.php/login/index/Taro/Jiro
login=controller,class
index=action,method
Taro,Jiro=methodのparamater1,2
index.phpはない方が見た目的にもSEO的にも美しい
ttp://localhost/ドメイン/index.php/login/index/Taro/Jiroとするには
 =>mod_rewriteの出番

  • .htaccessを有効化

.htaccessを有効にする
XAMPPのApacheのconfigボタンより、httpd.confを選択して上記リンクを参考に編集

  • .htaccessの編集

サンプル
RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]

.htaccessの影響する範囲について知識がなかったために、結構ハマったポイント。
サンプルはC:\xampp\htdocsにindex.phpがある構成
自分のものはC:\xampp\htdocs\ドメインにindex.phpがある構成

なので、ドメインのところにあるindex.phpと同階層の.htaccessに対して、修正
RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /ドメイン/index.php/$1 [L]

このRewriteCondの中にある拡張子のラインナップに、使用しているファイルのものが含まれていないと表示するときにエラーになるので要注意。
例でいえばjs、cssはサンプルではJavaScript、StyleSheetでした。作ったjsやcssファイルをjs・cssフォルダへ格納して、あれ表示されないぞ?なんてことになっていました。

  • config.phpの編集

$config['base_url'] = ''
$config['base_url'] = 'http://localhost/ドメイン/';
$config['index_page'] = 'index.php';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
$config['uri_protocol'] = 'PATH_INFO';
index_pageの設定を見落としていて、mod_rewriteで消していたindex.phpが画面遷移後に付加され直されてしまい、気持ち悪い思いをしました :sweat_smile:


以上の設定を行い、MVCに沿ったサンプルを作ってページを表示ができました。
なおここまでの設定は個々の環境によって違うので、必須ではありません。
のちのちつまづいたら見る用に、ピックアップしてみました。

10
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
14