在我面向公众的Apache2服务器上获取我的Rails 3应用程序是通过子URI,像RoR3重定向不包括RAILS_RELATIVE_URL_ROOT
https://www.myserver.com/myapp/controller...
该服务器配置为反向代理托管Rails的另一个的Apache2服务器通过乘客的应用:
http://intranet.server.com/myapp
在企业内部网服务器我的虚拟主机的设置我有
SetEnv RAILS_RELATIVE_URL_ROOT "/myapp"
在我的配置/环境/ production.rb文件我注释掉行
config.log_level = :debug
这样,第一个执行的方法在我的应用程序的问题:
logger.debug { "The environment variable RAILS_RELATIVE_URL_ROOT is presently #{ENV['RAILS_RELATIVE_URL_ROOT']}" }
果然,在生产日志文件看到:
The environment variable RAILS_RELATIVE_URL_ROOT is presently /myapp
然而,在日志中的下一行,这显然是什么浏览器进入:
Redirected to https://www.myserver.com/controller/action
我在Stackoverflow上了解到这个环境变量,所以这是一个人的工作,但另一个人声称它没有向另一个人表示它做了。所以凭借我的经验,我们现在处于平局。我错过了什么吗?
我认为这是2.1到2.2的变化。在3.0版中(至少根据别人在这里其他地方的剪切和粘贴,Rails已经在做你已经建议的内容了),这就是为什么在我的情况下,记录器消息显示它是按照我期望的那样设置的,不幸的是我必须做的其他事情是撤消它,或者它真的没有工作 – tobinjim 2011-02-04 01:08:30