To get CakePHP to work with ServerFreak or any other hosting (e.g. IPSERVERONE, 1&1, Godaddy) that serves from a user directory that already uses mod_rewrite, all you have to do is add RewriteBase statements to the .htaccess files that CakePHP uses:
- /.htaccess
- /app/.htaccess
- /app/webroot/.htaccess
Here’s how they should look like after modification.
/.htaccess
<ifmodule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</ifmodule>
/app/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ /webroot/ [L]
RewriteRule (.*) /webroot/$1 [L]
</IfModule>
/app/webroot/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
Once you have completed all the steps above, you should have a working CakePHP installation!
Leave a Reply