【问题标题】:How do I specifically target internet explorer with htaccess deflate如何使用 htaccess deflate 专门针对 Internet Explorer
【发布时间】:2012-03-06 12:11:06
【问题描述】:

这与我提出的另一个问题密切相关,但由于这非常具体,我认为最好单独提出。

我有一个非常简单的测试站点,它包含三个文件,index.html、all.js 和 .htaccess,这是我的 .htaccess:

# Compress some text file types
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript application/javascript application/json

这是我压缩文件唯一要做的事情——我没有添加任何标题。 现在我意识到这有很多我不需要的 mime 类型,但我认为我们已经涵盖了所有内容。但是由于某种原因,文件只在 Firefox 中压缩,而不是 IE。此外,如果我通过 Firefox 查看该站点并使用用户代理切换器切换到 IE 用户代理,压缩会立即停止。

我需要在 IE 中工作,我更广泛的问题是如何实现这一点,但我认为这可能是由于配置中的一些浏览器匹配,所以我想知道如何在 htaccess 中专门针对 IE 使用 deflate。

任何帮助表示赞赏。

【问题讨论】:

  • 离题。您缺少用于压缩图标的图像/x-icon mime(如果有的话)。问题本身似乎是主机端的错误配置。 SP1 之前的 IE6 在压缩内容方面存在一些问题,所以我认为主机只是禁用了所有 IE 的压缩。
  • 这是一个没有 favicon 的测试系统,但我可能没有在主站点上这样做,因为我的印象是你不能在图像文件上使用 gzip/deflate - 这是不正确的。跨度>
  • 大多数图像格式已经被压缩,例如 jpeg 和 png,因此对它们进行 gzip 压缩会适得其反。 .ico 格式与 bmp 格式一样是未压缩/原始像素数据,因此可以使用 gzip 进行显着压缩。

标签: internet-explorer .htaccess deflate


【解决方案1】:

查看您的主机配置:grep -Ri BrowserMatch /etc/httpd /etc/apache2 您可以在 PHP 中通过 system() 调用执行此操作。可能是您的主机指定的规则过于严格。另请参阅Special Purpose Environment Variables,以及许多博客文章。

【讨论】:

  • 我正在使用共享主机计划并且当我运行 system();我得到了托管网站的列表,而不是更多。因为我在共享主机上,所以我无法访问完整的文件系统,我的根目录包含 .bashrc .bash_logout .bash_profile 日志和 public_html 目录。我已经联系了我的托管服务提供商,并被告知...我们服务器上的 gzip/deflate 没有问题...由于您在使用 Internet Explorer 时遇到问题,我建议您添加代码来解决此问题...。我们不提供支持编码...
【解决方案2】:

从日志文件和研究网络流量中可以看出,文件实际上正在被压缩,但 IE 错误地报告了这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2012-10-23
    • 2017-04-21
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多