Magento-利用.htaccess开启gzip压缩提速

使用这个功能的前提是:magento网站所在主机支持gzip压缩!

另外Magento
本身根目录自带的.htaccess
就有写入开启gzip压缩
的代码,只是被注释了,我们只需要把相关的注释去掉,下面,跟我一起&……*&*

对magento根目录的.htaccess
操作:

搜索output_compression
,把#php_flag zlib.output_compression on这行的#去掉。

搜索SetOutputFilter
,找到相关的是

    # Insert filter on all content
    ###SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    #BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    #BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    #Header append Vary User-Agent env=!dont-vary

处理后的代码是:

    # Insert filter on all content
    SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary

保存,把Magento缓存清掉刷新测试。。

果然,Magento利用.Htaccess开启gzip还是有点效果的...

url伪静态和Gzip同时开启造成冲突的原因和解决办法

现象:

    单纯开启url伪静态,不开启gzip,网站正常;
    单纯开启gzip,不开启url伪静态,网站正常;
    同时开启url伪静态和gzip,网站无法正常显示,有时显示不出内容,刷新后自动refresh等等问题....

解决办法:

1、修改服务器设置法:
到服务器里,从php.ini找出:zlib.output_compression 这条,把
zlib.output_compression = On 改成 zlib.output_compression = Off
存盘后重启apache或IIS就可以了。

2、修改网站程序法:
使用虚拟主机,无法修改 php.ini 的,可以暂时这样修改,在网站的公共文件或初始化文件中加入这句:

    ! ini_get('zlib.output_compression') ? ob_start('ob_gzhandler') : ob_start();

现象解说:

开启 zlib.output_compression 相当于给每个PHP程序开头加上了ob_start("ob_gzhandler");这条语句。虽然 zlib.output_compression和ob_gzhandler还是有区别的。zlib.output_compression是和PHP脚 本解析程序并行的一个线程,当PHP输入时,这边读入,压缩,而已经压缩好的文档达到一定数量(默认是4k),它就向浏览器发送数据。而 ob_gzhandler则是在PHP脚本执行完所有代码才把缓存好的输出文件进行压缩并传输给浏览器,所以相对慢一点,但原理是相同的。

而在后台开启 gzip 功能后,会不加判断地强制运行头部的 ob_start("ob_gzhandler") 语句,这样相当于程序同时运行了两条 ob_start("ob_gzhandler") 语句,造成无法正常执行并显示出页面内容。
  因此,建议正常情况下php.ini里zlib.output_compression设置为 Off 状态,毕竟编程人员大多数还是会出现不加判断地添加 ob_start("ob_gzhandler") 语句的情况。

命令:mysql的备份与恢复

备份数据:
mysqldump -u 用户名 -p 密码 数据库名 > XX.sql


数据量大的时候,可以使用gzip压缩一下
mysqldump -u 用户名 -p 密码 数据库名 | gzip > XX.sql.gz

恢复数据:
mysql -u 用户名 -p 密码 数据库名 < XX.sql


从gzip压缩文件中直接恢复
gzip < XX.sql.gz | mysql -u 用户名 -p 密码 数据库名