Pergunta

Eu estou usando Mongrel :: DirHandler para cabeçalhos de resposta de controle para arquivos estáticos - isso funciona muito bem na minha máquina dev. Minha máquina de produção utiliza Passageiros então meus cabeçalhos não estão recebendo set. Como faço para controlar cabeçalhos para arquivos estáticos ao usar Passageiros?

trecho do meu environment.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
Foi útil?

Solução

Uma vez que você estiver usando Passageiro, eu suponho que você está sob apache, para que o seu pedido não está passando por Mongrel mais. Se assim for, você pode estabelecer regras sobre o arquivo .htaccess dentro do diretório public de sua aplicação.

Aqui está um explination sobre como fazê-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top