atpages で CodeIgniter
今後のためにまとめておこうと思う。
Codeigniter のバージョン | 2.2.0 |
---|---|
利用サーバー | atpages |
サーバー番号 | 43 |
PHP のバージョン | 5.3.3 |
MySQL のバージョン | 5.1.54 |
.htaccess の記述 (ユーザーID が user_name の場合)
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond $1 !^(index\.php|img|js|css|font|robots\.txt|favicon\.ico) RewriteRule ^(.*)$ /~user_name/index.php/$1 [L] </IfModule>
application/config/routes.php の記述 (ユーザーID が user_name で、トップページ用のコントローラが welcome.php の場合)
$route['user_name'] = 'welcome/index';
各ビューで自サイト内の URL を記述する場合は以下のように記述しておくと安全 (css/style.css のリンクを生成する場合 index.php の置いてあるフォルダからの相対パス)
<?php echo base_url('css/style.css'); ?>
ただし application/config/autoload.php に以下のように記述しておく必要がある。
$autoload['helper'] = array('url');
検索してみると、 atpages では mod_rewrite が有効化されていない、という話を見かけたので、もしかしたらサーバーの番号によっては .htaccess が使えないかもしれない。
使えるかどうかを調べるには
<?php phpinfo(); ?>
を記述したファイルをアップロードして、そこにアクセスすると設定がずらっと出てくると思うので、「 mod_rewrite 」でページ内検索して、見つかれば大丈夫なはず。
単独実行するファイルとかがあれば .htaccess の RewriteCond の行に書き足してあげる。
ex) hoge.php を使う場合
RewriteCond $1 !^(hoge\.php|index\.php|img|js|css|font|robots\.txt|favicon\.ico)