Every wondered about the possibility of running a rails app, and a php (or anything else for that matter) site together, on one virtual host, on apache. But why? the hordes screamed ...
DHH keels over ... the PHP community says ahh just put it in CakePHP... and to you it feels just plain *wrong*.
However, there is always that odd need, every now and then, that you have to do it. So here's how.
It's really simple, assuming you're using mongrel cluster and setup a balancer in Apache for it, like so in one of the conf files...
<Proxy balancer://mybalancer.rowanhick.com>
BalancerMember http://localhost:2000
BalancerMember http://localhost:2001
BalancerMember http://localhost:2002
</Proxy>
Then on the paths that you want to mash up with your vhost, it's as simple as this...
For specific file mapping to an action:
ProxyPass /some_path/some_file balancer://mybalancer.rowanhick.com/mycontroller/myaction
ProxyPassReverse /some_path/some_file balancer://mybalancer.rowanhick.com/mycontroller/myaction
ProxyPreserveHost On
For one path mapping to a controller:
ProxyPass /some_path/ balancer://mybalancer.rowanhick.com/mycontroller/
ProxyPassReverse /some_path/ balancer://mybalancer.rowanhick.com/mycontroller/
ProxyPreserveHost On
Restart and you're away.
(even if it feels dirty)