Ответ 1
Как показывает ошибка ( "Нет такого промежуточного программного обеспечения для вставки раньше" ), проблема связана с промежуточным программным обеспечением, которое вы пытаетесь вставить до (а не с промежуточным программным обеспечением, которое вы пытаетесь вставить, которое было мое первоначальное предположение).
В Rails4 по умолчанию включена потоковая передача, которая удаляет Rack::Lock
.
Чтобы найти замену, вы можете запустить rake middleware
из каталога проектов rails и найти что-то около начала стека. Я собираюсь выбрать Rack::Runtime
, поскольку это в начале стека, и кажется довольно стандартным.
Итак, теперь переписываем конфигурацию:
config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
r301 %r{^/(.*)/$}, '/$1', :headers => {'Cache-Control' => 'public, max-age='+2.week.to_s}
end