如何使用mod_headers中和mod_expires缓存(how to use mod_headers and mod_expires to cache)

   IT问题网   2018-07-23 00:00:00

问 题

我要缓存我的网站上的图像和其他文件,所以我所做的是确信mod_headers中和mod_expires有: -

/ usr / sbin目录/的httpd -l
 

再修改的.htaccess是: -

expiresactive开
expiresdefault a0


#设置缓存中的媒体文件为1年(永远?)
 filesmatch"\(flv | ico | pdf | avi | mov | ppt | doc | mp3 | wmv | wav)$。"
expiresdefault a29030400
包头追加的cache-control"公"
 / filesmatch

#设置缓存上的媒体文件1周
 filesmatch&gt"\(gif | jpg | jpeg | | png swf)$。";
expiresdefault a604800
包头追加的cache-control"公"
 / filesmatch

#设置2小时上高速缓存常用更新的文件
 filesmatch"\(xml | txt | html | js | css)$。"
expiresdefault a9200
包头追加的cache-control"代理重新验证"
 / filesmatch

#强制不缓存动态文件
 filesmatch |&gt"\(php htm)$。";
expiresactive关闭
头集缓存控制"私,无缓存,无店,代理重新验证,无转换"
头设置语用"无缓存"
 / filesmatch

文件403.shtml
为了允许,拒绝
允许所有
 /文件
 

但是,当我浏览该网站,每次图像刷新和花太多时间。还有什么我应该怎么办?

解决方案

您不需要缓存控制公共,或其他大部分高速缓存控制设置。编译也是老不是真的需要。你并不需要任何的php | htm部分。我想说的废料一切从开始到文件403.shtml 部分和学习(和使用)以下的code以下。我还建议阅读马克诺丁汉的缓存教程

这些位取自 html5的样板的.htaccess :

 ###################################### #################################
##介质类型和字符编码#
################################################## #####################

#------------------------------------------------- ---------------------
#|介质类型|
#------------------------------------------------- ---------------------

#即成资源与正确的介质类型(fka mime类型)。
#
#https://www.iana.org/assignments/media-types/media-types.xhtml
#https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype

 ifmodule mod_mime.c

#数据交换

将addtype应用程序/原子+ xml原子
将addtype应用/ json json地图topojson
将addtype应用/ ld + json jsonld
将addtype应用/的rss + xml rss
将addtype应用/ vnd.geo + json geojson
将addtype应用/ xml rdf xml


#的javascript

#规范化为标准型。
#https://tools.ietf.org/html/rfc4329#section-7.2

将addtype应用/ javascript的js


#清单文件

#如果您提供的web应用程序清单文件(见
#规格:https://w3c.github.io/manifest/),它是
#建议你用'应用程序/清单+ json`送达
#介质类型。
#
#因为web应用程序清单文件中没有其
#自己独特的文件扩展名,您可以设置它的媒体类型
#匹配:
#
#1)的文件的准确位置(这可以使用一个完成
#指令,如`地点`,但它不会工作
#在`.htaccess`文件,所以你必须要做到这一点,在主
虚拟主机一个`&lt的#服务器配置文件或内部`
#容器)
#
#例如。:
#
#位置"/.well-known/manifest.json"gt;
#将addtype应用/清单+ json json
# /地点
#
#2)的文件名(这可能是问题,因为你需要
#确保你没有任何其他文件具有相同名称
#为你给你的web应用程序清单文件)一
#
#例如。:
#
#文件"的manifest.json"
#将addtype应用/清单+ json json
# /文件

将addtype应用程序/ x-web-app-清单+ json的web应用
将addtype文本/缓存清单appcache


#媒体文件

将addtype音频/ mp4 f4a f4b m4a
将addtype音频/ ogg oga ogg巨著
将addtype图像/ bmp bmp
将addtype图像/ svg + xml的svg svgz
将addtype图像/的webp的webp
将addtype视频/ mp4 f4v f4p m4v mp4
将addtype视频/ ogg远洋船
将addtype视频/ webm webm
将addtype视频/ x-flv flv

#`服务用不同的媒体类型.ico`图像文件
#prevents internet explorer中的作为图像显示,则:
#https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee

将addtype图像/ x-图标cur ico


#网页字体

将addtype应用/字体woff woff
将addtype应用/ font-woff2 woff2
将addtype应用/ vnd.ms-fontobject eot

#浏览器通常忽略的字体介质类型和简单的嗅探
#字节计算出的字体类型。
#https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern
#
#然而,眨眼和基于webkit的浏览器将会显示警告
#在控制台中,如果下面的字体类型送达任何
#其他媒体类型。

将addtype应用程序/ x-字体ttf ttc ttf
将addtype字型/ opentype字体otf


# 其他

将addtype应用/八位字节流safariextz
将addtype应用程序/ x-bb-appworld bbaw
将addtype应用程序/ x-铬扩展crx
将addtype应用程序/ x-歌剧扩展oex
将addtype应用程序/ x-xpinstall xpi
将addtype文本/电子名片电子名片vcf
将addtype文本/ vnd.rim.location.xloc xloc
将addtype文本/ vtt vtt
将addtype文本/ x分量htc

 / ifmodule


#------------------------------------------------- ---------------------
#|减少mime类型的安全隐患|
#------------------------------------------------- ---------------------

#prevent从mime嗅探响应某些浏览器。
#
#这减少了暴露在偷渡式下载攻击和跨域
#数据泄漏,应保留取消注释,尤其是如果该服务器
#是服务于用户上传的内容或内容可能会
#视为由浏览器可执行文件。
#
#http://www.slideshare.net/hasegawayosuke/owasp-hasegawa
#http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-com$p$phensive-protection.aspx
#https://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
#https://mimesniff.spec.whatwg.org/

 ifmodule mod_headers.c
头集x-内容类型 - 选项"nosniff"
 / ifmodule

#------------------------------------------------- ---------------------
#| etag的|
#------------------------------------------------- ---------------------

#删除`etags`作为资源发送远的将来到期头。
#
#https://developer.yahoo.com/performance/rules.html#etags
#https://tools.ietf.org/html/rfc7232#section-2.3

#`fileetag none`不会在所有情况下工作。
 ifmodule mod_headers.c
头取消设置的etag
 / ifmodule

fileetag无

#------------------------------------------------- ---------------------
#| expires头|
#------------------------------------------------- ---------------------

#即成资源远的将来到期头。
#
#(!),如果你不控制版本与基于文件名
#清除缓存,你应该考虑降低缓存时间
#为类似一个星期。
#
#https://httpd.apache.org/docs/current/mod/mod_expires.html

 ifmodule mod_expires.c

expiresactive上
expiresdefault"进入加1月"

#css
expiresbytype文本/ css"进入加1年"

#数据交换
expiresbytype应用程序/原子+ xml"进入加1小时的"
expiresbytype应用/ rdf + xml"进入加1小时的"
expiresbytype应用程序/ rss + xml"进入加1小时的"

expiresbytype应用/ json的"连接以及0秒"
expiresbytype应用/ ld + json"进入加0秒"
expiresbytype应用程序/模式+ json"进入加0秒"
expiresbytype应用/ vnd.geo + json"进入加0秒"
expiresbytype应用程序/ xml"的访问以及0秒"
expiresbytype文本/ xml"的访问以及0秒"

#网站图标(不能重命名!)和光标的图像
expiresbytype图像/ vnd.microsoft.icon"进入加1周"
expiresbytype图像/ x-图标"进入加1周"

#html
expiresbytype text / html的"连接以及0秒"

#的javascript
expiresbytype应用程序/ javascript的"进入加1年"
expiresbytype应用程序/ x-javascript的"进入加1年"
expiresbytype文/ javascript的"进入加1年"

#清单文件
expiresbytype应用/清单+ json"访问加1年"

expiresbytype应用程序/ x-web-app-清单+ json的"连接以及0秒"
expiresbytype文本/缓存清单"的访问以及0秒"

#媒体文件
expiresbytype音频/ ogg"进入加1月"
expiresbytype图像/ bmp"进入加1月"
expiresbytype图像/ gif"进入加1月"
expiresbytype为image / jpeg"进入加1月"
expiresbytype图像/ png"进入加1月"
expiresbytype图像/ svg + xml"进入加1月"
expiresbytype图像/的webp"进入加1月"
expiresbytype视频/ mp4"进入加1月"
expiresbytype视频/ ogg"进入加1月"
expiresbytype视频/ webm"进入加1月"

#网页字体

#嵌入式的opentype(eot)
expiresbytype应用程序/ vnd.ms-fontobject"进入加1月"
expiresbytype字体/ eot"进入加1月"

#opentype字体
expiresbytype字型/ opentype字体"进入加1月"

#truetype字体
expiresbytype应用程序/ x-字体ttf"进入加1月"

#的web开放字体格式(woff)1.0
expiresbytype应用程序/字体woff"进入加1月"
expiresbytype应用程序/ x-字体woff"进入加1月"
expiresbytype字体/ woff"进入加1月"

#的web开放字体格式(woff)2.0
expiresbytype应用/ font-woff2"进入加1月"

# 其他
expiresbytype文/ x-跨域策略"访问加1周"

 / ifmodule
 

其他样板配置各种网络服务器

服务器配置"boilerplates"存在类似这样的片断apache配置其他http服务器设置,并保持在的https:// github上.com / h5bp /服务器的configs

标签:如何使用中和缓存



分享:

  • 微信
  • QQ好友
  • QQ空间
  • 新浪微博


热门推荐

如何从一个子目录中删除的.htaccess密码保护(How to remove .htaccess password protection from a subdirectory)

problem i have password protected my entire website using ...

请.git目录网站无法访问(Make .git directory web inaccessible)

problem i have a website that i use github (closed source ...

重写URL以htaccess的(rewrite url with htaccess)

problem first of all i am a beginner so please answer in ...

重写QUOT&; pretty的网址"?(Rewrite to "pretty URL")

problem this is an example of what i am trying to achieve ...

需要mod_rewrite的URL信息(mod_rewrite URL info required)

problem i am new to this mod_rewrite. i have been success ...

的.htaccess,迫使斜线和www(.htaccess, forcing a slash and www)

problem can someone please help me to force my website to ...

简单的301重定向在.htaccess与查询字符串不以重定向指令工作(Simple 301 redirect in .htaccess with query string does not work with Redirect directive)

problem i am trying to redirect a single url in a .htacce ...

如何将文本转换使用的.htaccess为小写的网址(How to convert text to lowercase URLs using .htaccess)

problem i want to set up 301 redirects in my .htaccess fi ...

"双向"改写("Two Way" Rewrite)

problem so, i'm trying to accomplish this: we have a url ...

与字preSS除非使用URL重写不工作[R](Url rewriting not working with wordpress unless using [R])

problem i have a wordpress installation on my website on ...

通过htaccess的重定向所有的HTTP和HTTPS非www网址https://www.xyz.com(Redirect all http AND https non-www URLS to https://www.xyz.com via htaccess)

problem for reasons much too long and complex to get into ...

重定向的* .htm为* .PHP(Redirect *.htm to *.php)

problem i am trying find out how to redirect all traffic ...

HTTPS重定向到非www和http到www(Redirect https to non-www and http to www)

problem i searched and found hundreds of related cases, b ...

如何从URL使用htaccess的本地主机和主机服务器删除“/公众”?(how can remove '/public' from url using htaccess for localhost and host server)

problem i'm using zend framework 2 on xampp. i created .h ...

的.htaccess重写规则到路径不改变网址(.htaccess RewriteRule to path without changing URL)

problem so, i've this problem: base website located at ...

我怎样才能mod_rewrite的,并保持查询字符串?(How can I mod_rewrite and keep query strings)

problem i want to mod_rewrite a url to another page, but ...

如何从PHP脚本改变外观的URL(How to change appearance of URL from within a PHP script)

problem i have some php and html in the same file, and i ...

删除尾随的问号htaccess的(Removing trailing question mark with htaccess)

problem can someone help me understand this code # remov ...

URL重写GET参数(URL Rewrite GET parameters)

problem i want my url to look like the following www.web ...

htaccess的从XAMPP转向灯开的Ubuntu 13.10后不工作(启用htaccess的Apache中的Linux服务器)(htaccess is not working after moving from XAMPP to LAMP on ubuntu 13.10 (Enable htaccess in apache linux server))

problem my codeigniter project is running successfullyon ...