[英]Rails root url with mod_proxy
Rails版本:3.2
我已经有一个PHP网站,并且我想使用Rails在其中添加新功能。
最后的任务是将整个站点迁移到Rails,因此我选择使用mod_proxy通过子路径集成Rails:/ ror
这是我的mod_proxy设置:
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /ror http://localhost:3000/
ProxyPassReverse /ror http://localhost:3000/
问题是,当我尝试使用url helper时,rails给出了错误的相对路径。
<%= url_for(:action => 'index', :controller => 'travels' %>
给
/travels/
正确的结果将是
/ror/travels/
url助手和其他带有相对url的助手的想法很好。 我打算使用它们。 我该如何设置正确的根路径以供在helper中使用的rails?
如果您使用的是Rails 4,则可以在代理声明之前添加以下内容:
代理请求关闭
ProxyPreserveHost开启
并添加retry = 0以允许Rails服务器重新启动
ProxyPass / ror
http://localhost:3000/ror
重试= 0
在config.ru中
映射“ / ror”做
运行Rails.application
结束映射“ /”做
运行Rails.application
结束
在config / application.rb中
添加此行:
config.action_controller.relative_url_root =“ / ror”
请注意,这将引导来自以下位置的所有网址:
http://domain.com/ror
到http://localhost:3000/ror
记得使用link_to或root_url来获取带有baseuri / ror的uri
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.