「Codeigniter」タグアーカイブ

Codeigniter デフォルトコントローラの指定(PHP)

Codeigniterの話題(メモ書き)が続きます。

http://www.example/codeigniter/

とアクセスしたときに使用されるコントローラはconfigディレクトリ、routes.phpで設定します。つまり、URIセグメントに何も指定されていないときに表示されるページの設定です。

$route['default_controller'] = "welcome";

上記の場合、welcome.phpのindex()がデフォルトコントローラとして指定されます。

config.phpの中を探してしまいましたが、routes.phpにあるんですね。と、気がついたあとに、ユーザガイドをみたらコントローラの項目にばっちり書いてありました。

CodeIgniterの’index.php’を省略する(追加)(config.php)

CodeIgniterの’index.php’を省略するの記事の追加です。その記事では.htaccessの設定を書きました。これだけでは、コードないでリダイレクトした場合にはindex.phpが挿入されてしまうので、Codeigniterをインストールしたディレクトリの\apllcation\configにある、config.phpの

$config['index_page'] = 'index.php';

をコメントアウトします。

Codeigniter 2系の言語ファイル(Language)は別アーカイブ(PHP)

軽量軽快動作が売りのPHPフレームワーク Codeigniterの関連を続けます。

Codeigniter の現在の最新バージョンは2.1.0です。フレームワークに標準で用意されている様々なメッセージは、インストールディレクトリ下のapplication、languageに納めますが、それぞれの言語ごとに別アーカイブをダウンロード、展開する必要があります。日本語バージョンは完成度97%ということですが、こちらからダウンロードできます。

これがないと、フォームに入力を求めた際などに、form_validation_lang.phpがありませんといったエラーが出てしまいます。

Codeigniter 1系の最終版である1.7.3では、本体のアーカイブに各言語が含まれています。

CodeIgniterの’index.php’を省略する.htaccess

久しぶりにPHP関連の話題です。

PHPフレームワークのCodeIgniterは軽量かつわかりやすいということで人気です。現在のバージョンは2.1.0で、こちらからダウンロードできます。2MB強です。インストールは先ほどのアーカイブを展開しておくだけです。

展開したディレクトリをcodeigniterとすると、アクセスはhttp://www.example.com/codeigniter/index.php/test/などとなります。他のフレームワークと同様に、パラメータをディレクトリのように渡します。ただ、このままだと、inde.phpの部分が毎回表示され冗長です。

.htaccessを設定すると、解消できるとオンラインのドキュメントにも書かれているので設定してみましたが、404 Not Found とエラーが出てきました。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

上記の場合は、CodeIgniterをhttp://www.example.com/の直下に展開した場合なので、今回のようにhttp://www.example.com/codeigniter/に展開した場合は3行目を以下のように書き換えます。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /codeigniter/index.php/$1 [L]

これで無事に解決しました。