在我面向公衆的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