Mongrel :: DirHandler équivalent pour Passenger
-
04-07-2019 - |
Question
J'utilise Mongrel :: DirHandler pour contrôler les en-têtes de réponse des fichiers statiques - cela fonctionne très bien sur ma machine de développement. Ma machine de production utilise Passager pour que mes en-têtes ne soient pas configurés. Comment contrôler les en-têtes des fichiers statiques lorsque j'utilise Passenger?
extrait de mon environnement.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
La solution
Puisque vous utilisez Passenger, je suppose que vous êtes sous Apache. Votre requête ne passe donc plus par Mongrel. Si tel est le cas, vous pouvez établir des règles sur le fichier .htaccess
dans le répertoire public
de votre application.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow