Edited at

Railsアプリケーションをサブディレクトリ以下で動作させる(Rails 3.2.13で確認)

More than 5 years have passed since last update.

http://www.example.com/sub 以下で動かしたいとして、

以下の2点の修正でいけた


config/environments/*.rb


config/environments/*.rb

AppName::Application.configure do

ENV["RAILS_RELATIVE_URL_ROOT"] = "/sub"
Rails.application.config.relative_url_root = "/sub"
...
end

2行目と3行目を追加


config.ru


config.ru

map ActionController::Base.config.relative_url_root || "/" do

run AppName::Application
end

run AppName::Applicationmap Action.. でくるむ


おまけ

passengerでサーブしている場合、

publicからのパスとURLのパスが対応しなくなるので、

assets系が読み込めなくなる。

Alias /sub/assets /path_to_app/public/assets

などと追記すればOK