CakePHP and Cherokee

written on Tuesday, June 16, 2009

Getting CakePHP working with cherokee is really simple:

First put your CakePHP files into any directory. For me it's /home/daniel/Web/dcms.
You can delete all the .htaccess files:

/.htaccess
/app/.htaccess
/app/webroot/.htaccess

Add a new virtual host to cherokee, set the document root to the CakePHP webroot:
/home/daniel/Web/dcms/app/webroot
Directory Indexes should be set to index.php

Add a new PHP rule - with the new wizard it's really simple - and keep the default settings.
Add a new 'file exists' rule and let it match 'Any File' and handle it as 'Static Content'.
/static/images/090616_1.png /static/images/090616_2.png

How we need to modify the default rule. Change the handler to 'Redirection' and setup the regex like this:

/static/images/090616_3.png

(Internal, ^.\*$, index.php)

That's it!
Just make sure that the rules are in the correct order (php, any file, default):
/static/images/090616_4.png
Just save and access CakePHP via your defined domain.
/static/images/090616_5.png

Comments!