我开发了一个Smarty基于Web应用程序,但由于Google Maps,页面非常重以及大量 HTML 代码。
加载时大小均大于 1 MB。我正在尝试压缩它,因为它经常更新。
我使用:.htaccess
配置进行压缩,例如:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
...但什么也没发生。
我还尝试了 php gzip
和 ob_start()
方法,但它抛出了内容编码错误。我怎样才能使它成为可能?
最佳答案
我们在编码过程中遇到一些问题。有时我们会错过编码命令。如果我们按照真实的程序(命令)或者编码软件进行操作,那么这种情况下我们的问题就可能得到解决。
例如,我们要制作一个 .gzip 文件:
gzip -9 production.min.css
它将生成生产.min.css.gz文件。
有时,如果您的配置是从不同服务器中选取数据 Apache,则可能会发生这种情况。和别的。解决方案是在
php.ini
中打开zlib.output_compression
。打开您的
php.ini
。在 Debian/Ubuntu 上,它是/etc/php5/apache2/php.ini
:vi /etc/php5/apache2/php.ini
关于Fedora , CentOS ,和Red Hat Linux ,它是/etc/php.ini:
vi /etc/php.ini
找到
zlib.output_compression
行并打开zlib.output_compression
:zlib.output_compression = On
之后重新启动 Apache:
在 Debian 和 Ubuntu 上,您运行:
/etc/init.d/apache2 restart
在 Fedora/CentOS/RedHat 上,您运行:
/etc/init.d/httpd restart
为了确定起见,请清除浏览器缓存、Cookie 等。
它很可能不会永久甚至暂时解决问题。
这可能是 gzip 的问题。
打开一个新标签页并输入以下
“about:config”
,然后您会看到一条警告,需要小心。确认一下即可。在搜索栏中输入
“network.http.accept-encoding”
。 确保其值为gzip, deflate
。如果没有,请右键单击它,然后单击重置选项。有些人报告将其更改为
“true”
。它可以解决问题,但我不推荐它,因为它很可能会在以后引起更多问题。检查您的防火墙,特别是如果您使用 ZoneAlarm 。 删除所有添加的程序并重置默认值实际上对我来说第一次修复了它。
通过进入控制面板然后单击 Internet 选项来清除您的SSL 记录。
打开后,单击内容选项卡,然后单击清除 SSL 石板。
您使用的是自定义 DNS 吗?即 OpenNIC 。如果是这样,请将其关闭以确保。如果您不知道我在说什么,请忽略此内容。
运行一个良好的隐私清理程序,例如 Advanced SystemCare或任何你用来做到这一点的东西。
上次发生这种情况时,我执行了以下所有操作,然后
重新启动
。我在任何浏览器中都没有再遇到过这个问题,而且已经有一段时间了。
关于php - 基于 Smarty 的 Web 应用程序中的内容编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7131441/