仍然無法得到這個工作...在Heroku的Cedar Stack上的Rails 3.1.3,Ruby 1.9.2。Heroku + Rack-Rewrite
試圖使用https://github.com/jtrupiano/rack-rewrite使http://domain 301重定向到http://www.domain沒有運氣(應用程序的作品,但沒有發生重定向)。
/config/initializers/rack_rewrite.rb(MyAppName實際上是正確的名稱,domain.com是實際域):
MyAppName::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{.*}, 'http://www.domain.com$&', :if => Proc.new {|rack_env|
rack_env['SERVER_NAME'] != 'www.domain.com'
}
end
加入Gemfile中:
gem 'rack-rewrite'
沒有「創業板安裝機架重寫「,」捆綁安裝「。
沒有運氣。
任何想法?
UPDATE:
我已經找到了問題的一部分。由於我只是想爲「index.html」服務,而且它是「/ style」文件夾,因此似乎在「/ public」中包含「index.html」會覆蓋機架重寫。如果我刪除了「index.html」,重寫工作......但現在我不知道把文件放在哪裏,或者設置routes.rb默認指向index.html頁面......任何幫助?
這真的很奇怪。我使用這段代碼檢查了半個我們的Heroku/Cedar/Rails應用程序的代碼片段,它完全正確。最奇怪的! – 2012-01-12 08:54:33
我是否錯過了某些文件中的「需要機架重寫」? – David 2012-01-12 09:04:17
不,不是那樣的。它會自動加載,因爲它在gemfile中。 – 2012-01-12 09:18:14