Multiple Rails on Subdirectories
Posted by Quinn at April 11th, 2008 10:13am under web 0 Comments Permalink
It has been way too long since the last time but I still wanted to play some with RoR. Setting up multiple rails on different directories under one domain was not easy. This is how I came up as the solution to it. I am using Apache virtualhost, mod_rewrite, and mod_proxy.
Ok, we are trying to set up rails for http://example.com/rails1 with http://example.com/ running under Apache.
Let's say web directory of example.com is /example.com/ and set up rails at /example.com/rails1.
$ mkdir -p /example.com/rails1
$ rails /example.com/rails1
$ cd /example.com/rails1
$ mongrel_rails -p 3000 start -d
Gotta create .htaccess file at /example.com/, not at /example.com/rails1/.
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule rails1(.*) http://localhost:3000/rails1$1 [P]
And finally modify config/routes.rb.
map.connect 'rails1/:controller/:action/:id'
Well, this set up fails to show public/index.html. so it's probably not perfect. However, pointing controller after making one WORKS fine. And this actually generates links start with /rails1/. If this is working, another one must work on another directory too. Yay!











