我们的 Rails 3.2.12 应用程序托管在子目录下/nbhy
。是routes.rb
(仅相关):
root :to => "authentify::sessions#new"
match '/signin', :to => 'authentify::sessions#new'
match '/signout', :to => 'authentify::sessions#destroy'
这authentify
是处理用户身份验证的 Rails 引擎。这是routes.rb
引擎authentify
:
resource :session
root :to => 'sessions#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
为了登录,我们必须使用链接:
http://mysite.com/nbhy/authentify/session/new
但是这个链接太长了,不好记。如果我们登录:
http://mysite.com/nbhy
系统将抛出错误 404 Not Found 并将页面重定向到:
http://mysite.com/authentify/session
问题是应用程序正在将登录请求重定向到/authentify/session
无法找到的位置(缺少 nbhy)。为什么 nbhy 丢失了,我们如何将其放回 url 以便用户可以从中登录http://mysite.com/nbhy
?
这是: nginx config
_ubuntu 12.04 server
sub uri
server {
listen 80;
server_name mysite.com;
root /var/www/;
passenger_enabled on;
rails_env production;
passenger_base_uri /nbhy;
}