杂种::DirHandler
我正在使用 Mongrel::DirHandlery 来控制静态文件的响应标头。 使用 Passenger 时如何控制静态文件的标头?
我的 test.rb 中的片段:
if defined? Mongrel::DirHandler
module Mongrel
class DirHandler
def send_file_with_expires(req_path, request, response, header_only=false)
if req_path =~ /((\/image)|javascript|stylesheet)/
response.header['Cache-Control'] = 'max-age=-2'
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您使用的是 Passenger,我假设您在 apache 下,因此您的请求不再通过 Mongrel。 如果是这样,您可以在应用程序的
public
目录内的.htaccess
文件上建立规则。以下是如何执行此操作的说明。
Since you're using Passenger, I assume you're under apache, so your request isn't going through Mongrel anymore. If so, you can establish rules on the
.htaccess
file inside thepublic
directory of your application.Here's an explination on how to do it.