Mongrel:: Дирхандлеровский эквивалент для пассажира

Я использую Mongrel:: DirHandler для управления заголовками ответов для статических файлов - это отлично работает на моей машине dev. Моя производственная машина использует Passenger, поэтому мои заголовки не устанавливаются. Как управлять заголовками для статических файлов при использовании Passenger?

фрагмент из моей среды .rb:

if defined? Mongrel::DirHandler
 module Mongrel
 class DirHandler
 def send_file_with_expires(req_path, request, response, header_only=false)
 if req_path =~ /((\/images)|javascripts|stylesheets)/
 response.header['Cache-Control'] = 'max-age=315360000'
 response.header['Expires'] = (Time.now + 10.years).rfc2822
 else
 response.header["Last-Modified"] = Time.now.httpdate
 response.header["Expires"] = 0
 # HTTP 1.0
 response.header["Pragma"] = 'no-cache'
 # HTTP 1.1 ‘pre-check=0, post-check=0′ (IE specific)
 response.header["Cache-Control"] = 'no-store, no-cache, must-revalidate, max-age=0, pre-check=0, post-check=0'
 end
 send_file_without_expires(req_path, request, response, header_only)
 end
 alias_method :send_file_without_expires, :send_file
 alias_method :send_file, :send_file_with_expires
 end
 end
end
1 ответ

Поскольку вы используете Passenger, я предполагаю, что вы находитесь под апачем, поэтому ваш запрос больше не проходит через Mongrel. Если это так, вы можете установить правила в файле .htaccess внутри каталога public вашего приложения.

Здесь объяснение о том, как это сделать.

licensed under cc by-sa 3.0 with attribution.