Frage

Ich bin mit Mongrel :: DirHandler zu Response-Header für statische Dateien steuern - diese auf meinem dev Maschine funktioniert gut. Meine Produktionsmaschine verwendet Passagier so meine Header nicht gesetzt zu werden. Wie steuere ich Headern für statische Dateien bei der Verwendung von Passagiere?

Ausschnitt aus meinem 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
War es hilfreich?

Lösung

Da Sie Passagier verwenden, ich nehme an, Sie unter Apache sind, damit Ihre Anfrage wird nicht mehr durch Mongrel. Wenn ja, können Sie Regeln für die .htaccess Datei im public Verzeichnis Ihrer Anwendung herzustellen.

Hier ist ein explination, wie man es tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top