Set up CakePHP in a subdirectory; WordPress is installed in the root

I have been searching for a solution for 2 hours but nothing seems to work… here is my problem:

I have WordPress installed in the root (var/www). So by going to http://www.geekderek.com, I see my wordpress site.

Read More

I put CakePHP in a subdirectory var/www/cakephp. I want to be able to see my CakePHP app by going to: www.geekderek.com/cakephp.

However, currently this url just returns a WordPress page saying “Content not found.”

I believe this problem can be solved by modifying .htaccess in my root directory. So here is my .htaccess: http://pastebin.com/sXJTRstB

As you can see, I added this line to the default WP .htaccess file:

RewriteRule    ^cakephp(/(.*))?$ cakephp/app/webroot/$1    [QSA,L]

However, for some reason this doesn’t seem to work.

Could anyone please tell me what is wrong?? Thank you so much!

Related posts

Leave a Reply

3 comments

  1. I have simmilar setup, that my cake app is in subdirectory, my root .htaccess has this rewrite rule:

    RewriteRule ^cakephp/(.*)$ /cakephp/$1 [L,QSA]
    

    All the rest is handled with the regular cakephp setup.

    my /cakephp/app/webroot/.htaccess:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    

    hope this works for you too 🙂

  2. thanat’s answer almost worked for me. i just had to edit the RewriteBase to read

    RewriteBase /cakephp
    

    and make sure apache conf allowed my root directory to override its previous options

    <Directory "/my/root/dir">
    AllowOverride All
    </Directory>
    

    but then again, my app dir lies outside the DocumentRoot set by apache. and the cakephp dir is actually the webroot itself. so my dir structure is as follows

    /my/root
    /my/root/app  #cake's app dir without webroot
    /my/root/dir  #apache DocumentRoot (your wordpress is here)
    /my/root/dir/cakephp  #cake's webroot
    

    also make sure to edit /my/root/dir/cakephp/index.php so it knows where the app and cake’s library dirs are.