nginx を実行している ubuntu 12.04 で、レール 3.1.4 アプリを suburi /by に正常にデプロイしました。production.rb で次のように設定します。
RAILS_RELATIVE_URL_ROOT="/by"
ログインしてメインメニューにアクセスできます。ただし、メイン メニューのカスタム view_handler によってリダイレクトされたすべてのルートは機能しません。view_handler の目的は、アプリがルーティングする次のパスを記憶し、バックアップ方法 (「戻る」など) を記憶することです。ここにコードがあります(関連コード)
def view_handler
index = params[:index].to_i
url = params[:url]
if index == 1 #forword
session[:page_step] += 1
session[('page' + session[:page_step].to_s).to_sym] = url
end
#redirect to the page by url
redirect_to url
end
もう機能しないlink_toは次のとおりです(404が見つかりませんエラー):
<%= link_to 'Projects', "/view_handler?index=1&url=#{projects_path}" %>
表示される URL (正しくありません。リターン 404 が見つかりません) は次のとおりです。
http://154.248.209.181/view_handler?index=1&url=/by/projects
上記の作業 URL は次のとおりです (手動で入力)。
http://154.248.209.181/by/projects
project_path が view_handler によって '/by/projects' を返すのは奇妙に思えます。projects_path には 'projects' のみを返す必要があります (rake ルートによる)。
suburi にデプロイする前に、rails 3.1.4 アプリがデプロイされ、ルート ディレクトリで正常に動作していました。
セットアップのどこが悪いのでしょうか? 本当にありがとう。