Define relative url


#1

Hi All

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

For example: http://my.website.com/xyz/users
becames: http://my.webiste.com/users

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 http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment…
Exiting
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:279:in
load_missing_constant': uninitialized constant ActionController (NameError) from /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:inconst_missing’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:480:in
const_missing' from /srv/backend/config/environment.rb:66 from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:95:inrun’
from /srv/backend/config/environment.rb:17
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require' from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in
require' ... 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:ingem_original_require’
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require’
from ./script/server:3

thnx a lot
LuCa


#2

Luca,

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…

–Tom

On Nov 5, 10:46 am, Luca S. removed_email_address@domain.invalid


#3

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
possible!

Cheers
LuCa

TomRossi7 wrote:

Luca,

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…

–Tom

On Nov 5, 10:46�am, Luca S. removed_email_address@domain.invalid