I'd like to deploy my CakePHP-app from localhost to the webserver, but I get Error 500
.
My Folder structure looks like this (note: the Cake-app is not in the root...). The .htaccess
-files (0) - (3) are according to this post [SO]:, and as this is a CakePHP&Wordpress server, I tried this advice here, too [SO].
The app is obviously located in the CAKEAPP
-Folder, where a subdomain cakeapp.mydomain.com
points at.
ROOT
├── .htaccess (0)
├── CAKEAPP
│ ├── .htaccess (1)
│ ├── app
│ │ ├── .htaccess (2)
│ │ ├── WEBROOT
│ │ │ ├── .htaccess (3)
├──{wordpress-files}
(0) .htaccess in the ROOT
FOLDER
Action php /cgi-php52/php
AddHandler php52 .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
php_value memory_limit "128M"
#BEGIN Image Upload HTTP Error Fix
<IfModule mod_security.c>
<Files async-upload.php>
</Files>
</IfModule>
<IfModule security_module>
<Files async-upload.php>
</Files>
</IfModule>
<IfModule security2_module>
<Files async-upload.php>
</Files>
</IfModule>
#END Image Upload HTTP Error Fix
(1) .htaccess in the CAKEAPP
-Folder
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
(2) .htaccess in the ROOT/CAKEAPP/APP
-Folder
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
(3) .htaccess in the ROOT/CAKEAPP/APP/WEBROOT
-Folder
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
The following works for mydomain.com/cakeapp
:
(0) .htaccess in ROOT
FOLDER
#Action php /cgi-php52/php
#AddHandler php52 .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^cakeapp/(.*)$ /cakeapp/$1 [L,QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
(1) .htaccess in the CAKEAPP
-Folder
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakeapp
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
(2) .htaccess in the ROOT/CAKEAPP/APP
-Folder
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakeapp
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
(3) .htaccess in the ROOT/CAKEAPP/APP/WEBROOT
-Folder
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cakeapp
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
I have two project one main project which is running fine but now i want to run another cakephp project on the same domain.
So you are in the write place this tutorial will help you to run a cakephp on a sub domain
- First you have change the .htaccess on /httpdocs/
RewriteEngine on
RewriteBase /
RewriteRule ^$ cake_sub_project/app/webroot/ [L]
RewriteRule (.*) cake_sub_project/app/webroot/$1 [L]
This two new line needs to add on your main .htaccess file. Here "cake_sub_project" is the sub project
RewriteRule ^$ cake_sub_project/app/webroot/ [L]
RewriteRule (.*) cake_sub_project/app/webroot/$1 [L]
Now goto your sub folder and make sure you have changed the .htacces on the following directory.
cake_sub_project/
cake_sub_project/app
cake_sub_project/webroot
2. Need to edit the .htaccess from /httpdocs/cake_sub_project as following
RewriteEngine on
RewriteBase /cake_sub_project/
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
Need to edit the .htaccess from /httpdocs/cake_sub_project/app as following
RewriteEngine on
RewriteBase /cake_sub_project/app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
Need to edit the .htaccess from /httpdocs/cake_sub_project/app/webroot as following
RewriteEngine On
RewriteBase /cake_sub_project/app/webroot/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]