5月
18
2010
[CakePHP] Webrootを使わない方法
投稿者: admin, カテゴリ: CakePHP, tags: .htaccess, CakePHP, phpMyAdmin, WordPress投稿日: 2010.05.18 - 20:03
更新日: 2011.09.17 - 23:56
CakePHP は大変良く出来ていて、既存のサイトにすんなり導入することができる。例えば、すでにある public_html の内容をそのまま CakePHP の webroot へ移動すればいい。何事もなかったかのようにそのまま利用できる。この方法を使えば phpMyAdmin や wordpress など複雑なものもそこに入れてしまえばいい。
しかし、内部で転送が何度も行われることになったり、実際のディレクトリと異なる場所に設置されているため、場合によっては不都合があるかもしれない。例えば wordpress を webroot に設置した場合、何もなければ / にアクセスすれば webroot の内容が出る。が、内容によっては /app/webroot/ と表示されてしまうことがある。また、未検証だが次回以降もログイン状態を保持する cookie が保存できないのもこれに関連があるのかもしれない。もちろん、普通に利用する分には何ら問題はない。
スポンサードリンク
通常は素直に webroot に置くとして、 理由があって CakePHP の .htaccess による mod_rewrite を回避するためには以下のようにする。なお、ここでは /app と同列に別のシステムを置くものとする( = /app, /blog など)
<IfModule mod_rewrite.c>
RewriteEngine on
# type A
RewriteCond %{REQUEST_URI} ^/blog/(.*)$
RewriteRule ^.*$ - [L]
# type B
#RewriteRule blog/(.*) blog/$1 [L]
# cakephp default
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
参考文献
- “mod_rewrite アイデア〔cake以外のファイルと共存〕” フォーラム – CakePHP Users in Japan :
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=100&forum=2
関連記事
- [.htaccess] 特定のユーザのみ閲覧を許可する
- CakePHP 1.2 on さくらインターネット(2)
- [.htaccess] 特定のアクションを拒否する
- [CakePHP] 任意のディレクトリに設置する .htaccess
- 「ただいまメンテナンス中です」のための.htaccessファイル設定
- WordPress 3.0.1 マルチサイト有効化手順
- [WordPress] Firefoxから投稿すると画像が表示されない
スポンサードリンク
エントリ (RSS)