Nginx/Apache 对图片,css,js等优化,静态页面设置过期时间

简介: 图片,CSS,JS,html设置过期时间不是本域名的重定向到本域名Nginx 图片,css,js等优化,静态页面设置过期时间 server{ ... location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d;#图片缓存30天 } location ~ .*\.(js|css)?$ { expi
  1. 图片,CSS,JS,html设置过期时间
  2. 不是本域名的重定向到本域名

Nginx 图片,css,js等优化,静态页面设置过期时间

server{
    ...
	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
		expires      30d;#图片缓存30天
	}
	location ~ .*\.(js|css)?$ {
		expires      12h;#js css缓存12小时
	}
	...
}

以上是在NGINX.CONF里复制的

我的站静态页面是如下设置的,伪静态也适用,这种方式是所有.html后缀都试用,如果不需要可以改改

静态页面设置过期时间3600秒,按后退按钮不会重新访问

sever{
    location / {
         .......
          if ($request_uri ~ ^.+\.html) {
			add_header Cache-Control max-age=3600,must-revalidate;
		}
		if ($host != 'www.lanmps.com') {
			rewrite ^/(.*)$ http://www.lanmps.com/$1 permanent;
		}
    }
}

上面这种情况,如果开发语言重新给HTTP头部设置过期时间,那么就会覆盖此处设置

nginx 设置GZIP压缩

vim nginx/conf/nginx.conf

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";

Apache 图片,css,js等优化,静态页面设置过期时间

<VirtualHost *:80>
    ServerAdmin admin@lanmps.com
    DocumentRoot "/var/www/html/"
    ServerName www.lanmps.com:80
    #ServerAlias *.lanmps.com
    ErrorDocument 404 /404.html
    #ErrorLog /var/www/log/lanmps.com.error.log
    #CustomLog /var/www/log/lanmps.com.CustomLog common
	<IfModule mod_expires.c>
	ExpiresActive On
	#开启过期时间功能
	ExpiresByType image/gif A2592000
	#设置 gif 图片过期时间 2592000秒
	ExpiresByType image/jpeg A2592000
	#设置 jpeg 图片过期时间 2592000秒
	ExpiresByType image/png A2592000
	#设置 png 图片过期时间 2592000秒
	ExpiresByType application/x-shockwave-flash A2592000
	#设置 flash过期时间 2592000秒
	ExpiresByType text/css A2592000
	#设置 css 过期时间 2592000秒
	ExpiresByType application/x-javascript A2592000
	ExpiresByType application/javascript A2592000
	#设置 js 过期时间 2592000秒
	ExpiresByType text/html A6000
	#设置 html 过期时间 6000秒
	</IfModule>

	<IfModule mod_rewrite.c>
	RewriteEngine on
	#打开rewirte功能
	RewriteCond %{HTTP_HOST} !^www.lanmps.com [NC]
	#声明Client请求的URL地址中前缀不是www.lanmps.com,其中 [NC] 的意思是忽略大小写
	RewriteRule ^(.*) http://www.lanmps.com/$1 [R=301,L]
	#含义是如果Client请求的主机中的前缀符合上述条件,则直接进行跳转到http://www.lanmps.com/,
	#[R=301] 表示永久重定向
	#[L]意味着立即停止重写操作,并 不再应用其他重写规则
	#.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的 (.*)字符
	</IfModule>
	
	<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
	#必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
	#设置对后缀gif,jpg,jpeg,png的图片文件进行压缩
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
	#同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

    AddOutputFilterByType DEFLATE text/*
	#设置对文件是文本的内容进行压缩,例如text/html  text/css  text/plain等
    AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
	#这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
    AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
	#这段是告诉apache对php类型的文件进行压缩

    BrowserMatch ^Mozilla/4 gzip-only-text/html
	# Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
    BrowserMatch ^Mozilla/4.0[678] no-gzip
	# Netscape 4.06-4.08 有更多的问题,所以不开启压缩
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
	# IE浏览器会伪装成 Netscape ,但是事实上它没有问题
</IfModule>
</VirtualHost>



目录
相关文章
|
2月前
|
前端开发
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
|
7天前
|
缓存 JavaScript 前端开发
介绍一下 JavaScript 中数组方法的常见优化技巧
通过合理运用这些优化技巧,可以提高 JavaScript 中数组方法的执行效率,提升代码的整体性能。在实际开发中,需要根据具体的业务场景和数据特点选择合适的优化方法。
17 6
|
5天前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
|
13天前
|
JSON 监控 JavaScript
Node.js-API 限流与日志优化
Node.js-API 限流与日志优化
|
19天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
184 4
|
23天前
|
存储 JavaScript 前端开发
JavaScript垃圾回收机制与优化
【10月更文挑战第21】JavaScript垃圾回收机制与优化
25 5
|
1月前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
54 1
|
1月前
|
JavaScript 前端开发
Javascript:获取、设置复选框的勾选状态
Javascript:获取、设置复选框的勾选状态
47 1
|
2月前
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
152 10
|
1月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
138 0

推荐镜像

更多