linux中.htaccess设置缓存与Gzip压缩配置

  htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法,即在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录了,此功能主要是放在linux主机相对较多了,下面我们来看看.htaccess设置缓存与Gzip压缩配置吧.
 
  在使用Linux主机中,一般使用的环境都是Apache+PHP+Mysql 来使用,其实跟你使用PHP、Mysql没有什么关系.
 
  关键在于Apache的设置,一般来说只要 httpd.conf 设置好了 .htaccess 就能正常使用了,关于怎么设置可以百度一下~这不是本文的重点.
 
  如何使用 .htaccess 设置浏览器缓存
 
  一般来讲我们网站的图片文件(jpg,png,gif等)、样式文件(css)、脚本文件(js) 这些是不会经常更改的,那么我们也没有必要让用户打开浏览器每次都重新读取这些文件。不设置缓存会有以下几点劣势.
 
  浪费带宽流量,不利于用户体验,还有个更重要的是搜索引擎对你网站的友好性,网站响应速度快的,往往更能获得搜索引擎的喜爱.
 
  在.htaccess添加如下设置即可完成浏览器的缓存,代码如下:
 
  <IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault A600
  ExpiresByType image/x-icon A2592000
  ExpiresByType application/x-javascript A2592000
  ExpiresByType text/css A604800
  ExpiresByType image/gif A2592000
  ExpiresByType image/png A2592000
  ExpiresByType image/jpeg A2592000
  ExpiresByType text/plain A86400
  ExpiresByType application/x-shockwave-flash A2592000
  ExpiresByType video/x-flv A2592000  //phpfensi.com
  ExpiresByType application/pdf A2592000
  ExpiresByType text/html A600
  </IfModule>
  缓存时间,这里设置A2592000表示在浏览器中的缓存时间,2592000秒=30天.
 
  如何使用.htaccess开启Gzip压缩
 
  我们需要在用户访问的时候压缩文件流进行传输,这样可以以较小的文件流传输到用户的浏览器,从而也提高了浏览响应速度及降低了带宽流量,我们使用如下设置即可,在.htaccess添加如下设置即可完成Gzip的压缩,代码如下:
 
  <ifmodule mod_deflate.c>
  AddOutputFilter DEFLATE html xml php js css
  </ifmodule>
  使用.htaccess关闭FileETag,优化响应头文件,如果你对响应头文件不是很了解,也没有用到头文件验证等方法,那么你可以直接进行关闭设置,来提高响应的速度,在.htaccess进行如下设置来关闭 FileETag.
 
  FileETag none
 
  经过了这些优化,想必网站速度会快了许多,更多的设置,可以看看其他的.htaccess的相关文章,或者在本文回复疑问.
 
  拓展:.htaccess重定向和url重写
 
  一个简单的重定向:Redirect 301 ^old.html$ http://localhost/new.html
 
  这是设置一个http状态码为301(永久移动)并把所有访问old.html转向到new.html,使用了正则表达式来匹配访问的页面,后面的url必须是完整路径.
 
  Url重写:
 
  RewriteEngine on  
  RewriteRule ^old.html$ new.html
  第一行打开重写引擎,第二行是重写规则,这样用户访问old.html时实际却是访问的new.html,而且用户对此好吧知情,因为地址栏里依旧显示是old.html.
 
  为了在地址栏显示新的访问地址,我们可以加个f标志在rewriterule语句里:
 
  RewriteRule ^old.html$ http://hostname/new.html [r=301]
 
  下面是把带查询参数的url重写成对搜索引擎友好的url:
 
  RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&brand=$2&prod=$3
  这条规则允许访问者以类似这样的:
 
  url products/turntables/technics/sl1210,
 
  来访问product.php?cat=turntables&brand=technics&prod=sl1210.
 
  括号里为一个单元,分别对应后面的$1,$2,$3,[^/]+ 在原括号里表示除了/之外的任何一个或是多个字符.
 
  自定义错误页面,代码如下:
 
  ErrorDocument 404"/404.html"
 
  这是定义404页面无法找到的错误,也可以定义其他错误代码的页面.
 
  限定访问特点资源,代码如下:
 
  <Files"protectedfile.html">  
  AuthName"Username and password required"  
  AuthUserFile/path/to/.htpasswd  
  Require valid-user  
  AuthType Basic  
  </Files>
  保护protectedfile.html,authName是登陆框的提示信息,authuserfile是.htpasswd文件的路径.
 
  阻止某些ip访问,代码如下:
 
  order allow,deny  
  deny from 192.168.0.1  
  allow from allOrder
  告诉apache指令的顺序,这里的这个是先允许后拒绝的,虽然allow from all后出现但是还是在前面生效,拒绝了192.168.0.1的访问,也可以按段来屏蔽访问的,只要只指定前面的几段就可以类似,192.168.
 
 

dawei

【声明】:连云港站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。