The Mongrel Web server can run with a URL prefix, using the –prefix
This is useful for running an app in a “subdirectory”—say BankDirectr at
http://banks.info/directr and BankRobbr at
In development you want that same prefix; this way your stylesheets, images, and
other static assets show correctly at the right URL. For this we had originally modified
always pass –prefix to Mongrel.
Switching to Phusion Passenger has removed one tab from my screen session, and made development faster and easier. However, getting it to work with a subdirectory took a few minutes.
The basic idea is that Apache handles the static
assets, and Passenger handles the rest. So in your
block you need to add an
Alias from the
prefix to the
<VirtualHost *:80> ServerName banks.info DocumentRoot /var/www/robbr Alias /robbr /var/www/robbr </VirtualHost>
However, in an attempt to ruin our fun, Phusion Passenger’s documentation says this:
Phusion Passenger conflicts with
mod_alias. Those modules may be installed and loaded together with mod_passenger, and they will work fine outside virtual hosts that contain a Rails application, but we recommend you not to use their features inside virtual hosts that contain a Rails application.
Fine. It works just fine for me using
mod_alias, but that’s only in my
development environment and not in production. Here’s another solution:
cd /var/www/robbr/public ln -s . robbr
Now any asset that references
/robbr , such as
, will follow the symlink to