define relative url

Hi All

Because my app is running behind Apache my RoR helpers generate an
incorrect url

For example:

So I tried to set the relative path to 'xyz' like

ActionController::AbstractRequest.relative_url_root = '/xyz'

$> ./script/server
\=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.1.2 application starting on
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at
** Starting Rails with development environment...
`load_missing_constant': uninitialized constant ActionController
  from /srv/backend/config/environment.rb:66
  from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:95:in
  from /srv/backend/config/environment.rb:17
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
   ... 23 levels...
  from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/server.rb:39
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
  from ./script/server:3

thnx a lot


I run my Rails apps behind an Apache server and don't have that
issue. It seems like your best bet would be to work on your Apache
config and not your Rails config (assuming you have control over the
server). You should be able to point the Apache server right to the
root of your app. Post some of your Apache config if you want more
help with it...


thnx for your reply!

Here is the part of the apache config dealing with my mongrel cluster:

  RewriteRule ^/backend/(.*)$ balancer://mongrel_cluster/$1 [P,QSA,L]
  RewriteRule ^/rails/(.*)$ /test/current/public/$1 [PT]

I think its only the first line I'm using!

Furthermore I've plans to use to 'phusion passenger' (apache module),
maybe it will solve this problem! Also I found the following plugin:
relative_path, which fixed this issue (at least I can continue now)

However, I would like to fix this problem on the Apache level, if


TomRossi7 wrote: