如何使我的 .htaccess 文件允许 Safari 和其他浏览器打开 GZIP?

2024-07-04

我正在使用 .htaccess 文件来允许我的页面调用 gzip 压缩的 JavaScript 文件。

它在 ie8 和 ff3 中工作正常,但脚本未在 Safari(或 Chrome)中加载。

这是我正在使用的 .htaccess 文件:

<files *.js.gz>
ForceType text/javascript
Header set Content-Encoding: gzip
</files>

然后,例如,我可以从 HTML 页面调用 JS 文件:

<script src="foo.js.gz"></script>

如何修改上述 .htaccess 代码以使其适用于 Safari(并且仍然适用于其他浏览器)?


我假设您正在尝试使用 Gzip 压缩来更快地下载资源和文本内容。这是加速网站速度的好方法。

Safari、Chrome 和 IE6 都存在 Gzipped 下载问题。另外,Apache 会为您进行 gzip 压缩,无需手动 gzip 文件。试试这个片段:

# This uses mod_deflate, which is pretty standard on Apache 2.  Loading
# mod_deflate looks like this:
#
#   LoadModule deflate_module modules/mod_deflate.so
#
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html

这应该在从 Apache 发送之前安全地对所有文本进行 gzip 压缩,并且仅适用于支持它的浏览器。您可以正常链接到 JavaScript 和其他资源,只需myscript.js,磁盘上没有 gz 扩展或压缩。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使我的 .htaccess 文件允许 Safari 和其他浏览器打开 GZIP? 的相关文章

  • 为什么异步 XMLHttpRequest 优于同步请求? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Titanium 中向 TableView 部分追加一行?

    我正在使用 Titanium 开发 iPhone 应用程序 并且需要将一行附加到特定的表格视图部分 https developer appcelerator com apidoc mobile 1 0 Titanium UI TableVi
  • style.backgroundColor 在 JavaScript 中是一个空字符串

    我下面有以下代码 我正在尝试设置背景颜色 但是 背景颜色返回为空字符串 我不知道为什么 它与 javascript 类型有关吗 function function1 var color document getElementById rg
  • Jquery 密码字段的默认值

    我在用这个 Jquery 插件 http mudge github com jquery example 用于使用单击时消失的文本填充输入 它对于密码字段来说并不理想 因为所有内容都显示为点 在开始输入之前使默认文本在密码字段中可见的好方法
  • 将命名函数存储在具有不同名称的变量中

    考虑这段代码 var x function z console log called x x will print out called x z ReferenceError 因此 可以在变量中存储命名函数 但我们仍然只能通过变量名来调用该
  • 如何处理对象字面量?

    我是 Javascript 新手 试图提取存储在对象中的一些文本 该对象被定义为对象字面量并传递给 a 中的函数调用该函数 脚本 和对象 具有以下结构 foo query count 2 created 2009 07 25T08 17 5
  • CdnFallbackExpression 列表

    CDN 上有很多可用的开源 JS 库 使用 ASP NET MVC 的捆绑功能 可以定义 CDN 失败时的后备方案 CdnFallbackExpression 是一个有用的功能 但是 我似乎找不到用于 jquery 之外的库的任何表达式列表
  • 替换 observableArray 中的项目

    我正在尝试替换某个项目的所有内容observableArray有新内容 var oldLocation ko utils arrayFirst self locations function item return item id valu
  • 无法使用 webpack 和 Laravel mix 加载 popper.js

    我在我的项目中使用 bootstrap 4 beta 和 Laravel 5 4 并使用 npm 和 laravel mix 加载我的 js 依赖项 到目前为止 一切都运行良好 除了当我尝试使用 booostrap js 方法时 它向我抛出
  • 将 HTML 表导出到 Excel JavaScript 函数添加选择文件名

    我有以下将 HTML 导出到 Excel 的函数 function generateexcel tableid var table document getElementById tableid var html table outerHT
  • 为 Flutter Web 应用程序添加 id 或 name 属性或其他标识方式?

    在编写 Flutter Web 应用程序时 我尝试利用基于 Selenium 的 Web UI Testing 框架 遗憾的是 我无法通过 id 或 name 属性识别代表某个 flutter 小部件的 HTML 元素 HTML 文档中不存
  • Angular ui - 选项卡控制器执行多次

    当我单击一个选项卡时 相应的控制器会执行 4 次 为什么 E g DetailsPersonController s init函数执行了4次 仅应在加载选项卡视图后执行 HTML 标签
  • redux fetch body 不能在无 cors 模式下使用

    我有一个调用函数的操作 dispatch Api url my url method POST data data 这里我将数组作为数据传递 import fetch from isomorphic fetch export default
  • for循环中的appendChild只添加1个孩子

    在 JavaScript 中 我使用 HTML 表格创建一个网格 您在 Photoshop 中看到的网格类型 网格大小是可变的 即可以由用户更改 因此必须计算每个网格方块的大小并将其除以可用像素数以获得精确大小的网格 我已经完成了所有这些
  • 使用 Phantom.js 将文件加载到 IMAGE 对象中

    我正在尝试加载图像并将其数据放入 HTMLImage元素但没有成功 var fs require fs var content fs read logo png 读取文件的内容后 我必须以某种方式将其转换为图像或将其打印到画布上 我试图使用
  • sails-mongo 适配器,标准化错误消息

    我正在使用 sails mongo 适配器尝试 sailsJs 和 mongodb 将验证添加到模型后 当验证失败时 我会收到以下响应 Users js 模型 module exports schema true attributes na
  • 如何获取对象类型

    在我的 Google Apps 脚本应用程序中 我看到以下错误 脚本已完成 但返回值不是受支持的返回类型 如何找出我返回的值的类型 我试过 typeof obj 但我得到的只是它是一个对象 仅当缓存为空并且从电子表格加载数据时才会发生此错误
  • JavaScript。如果数组包含重复数字,Array .sort() 方法会为 Chrome 和 Firefox 返回不同的结果

    我有包含随机数的数组 当我试图通过排序这个数组时 sort 方法 如果数组包含重复的数字 结果会不同 下面的代码在 Chrome 和 Firefox 中的工作方式有所不同 1 2 3 4 5 6 7 8 9 2 15 3 4 5 1 2 3
  • IOS - React Native - 未处理的 JS 异常:SyntaxError

    每当我创建新的 React Native 项目时 我都会遇到问题 显示红色屏幕 并在 xcode 控制台中收到以下错误消息 嗨 我有同样的问题 在这里找到了解决方案 https github com facebook react nativ
  • Phantomjs 可以工作,但速度很慢

    我正在尝试使用 PhantomJS 截取网页的屏幕截图 具体来说 我正在使用捕获的示例espn com from this http skookum com blog dynamic screenshots on the server wi

随机推荐

  • 使用 SUM() 而不使用 ISNULL() 是否安全

    我正在努力提高 SP 的性能 我对 SUM 和 ISNULL 有疑问 当我对一列求和时 我应该使用 ISNULL 吗 使用不带 ISNULL 的 SUM 安全吗 我的例子如下 SUM ISNULL COL1 0 由于 ISNULL 成本很高
  • 如何修复 Linux 上 npm 上的连接 ENETUNREACH

    我没有使用代理 我只是一个试图学习如何开发的菜鸟create react app在我的机器本地 linux 这是的输出tracepath registry npmjs org 1 LOCALHOST 0 020ms pmtu 1500 1
  • 调整大小然后裁剪 PHP

    好的 基本上我希望所有图像都是 170x170px 的正方形 因此 如果图像不是正方形 我希望调整它的大小 然后在中间裁剪 我花了很多时间玩这个 但一无所获 我已经让它裁剪较大图像的一部分等 但我特别需要调整图像大小 然后裁剪 任何帮助将不
  • AWS Elastic Beanstalk:推出新的 Rails 应用程序

    I just started using AWS elastic beanstalk to host a web app I wanted to make However after following the instructions t
  • C# 真的比 C++ 慢吗?

    我想知道这个问题有一段时间了 当然 C 中的某些内容未针对速度进行优化 因此使用这些对象或语言调整 如 LinQ 可能会导致代码变慢 但是 如果您不使用任何这些调整 而只是比较 C 和 C 中的相同代码片段 很容易将一种代码转换为另一种代码
  • 具有负方差的混合效应模型

    我知道这是一个有点老的问题 但我只是想知道现在是否有解决方案 我通常执行混合效应模型lme4封装有lmer功能 但是 我知道这个函数不允许我在模型中包含负方差分量 我真的很想在 R 模型中包含负方差 有没有人对我会使用哪些包有任何建议 或者
  • Java:是否有可用的工具可以让我输入、存储和计算数学公式?

    即使是非常基本的东西也很好 就像输入和评估类似 x 1 的东西一样 其中 x 是我要指定的变量 我正在考虑为每个公式使用字符串 用于解析它们的正则表达式等来编写自己的代码 但是让我们假设我的目标是尽可能地懒惰 并且如果有另一种选择 尤其是正
  • 如何在android中实现按钮的非矩形形状

    hi i have to realize this layout it has this layout 我可以尝试使用图标作为图像按钮 但按钮的活动状态有点像这个 我应该如何进行 你应该使用selector如下 准备2张按钮状态图片 放入r
  • Pthread Mutex:pthread_mutex_unlock() 消耗大量时间

    我用pthread编写了一个多线程程序 使用生产者 消费者模型 当我使用 Intel VTune profiler 来分析我的程序时 我发现生产者和消费者在 pthread mutex unlock 上花费了大量时间 我不明白为什么会这样
  • 币安 API 密钥

    我在 Binance 上设置了一个只读 API 密钥来访问货币余额等账户信息 但我看不到 JSON 数据 我放入 URL 中的字符串查询返回以下错误 code 2014 msg API 密钥格式无效 我使用的网址是这样的 https api
  • 使用 Curl 自动 Facebook 登录

    我正在尝试使用curl 自动登录facebook 但没有任何效果 我得到的最接近的是我在当前窗口中登录 因此我在 my server com facebooklogin php 上有正常的 facebook 主页 但是当我在新选项卡中打开
  • JAVA 上的 TCP 套接字 - 任何 >= 128 的字节都会被接收为 65533

    我正在 Android 上实现一个服务器 我正在使用 while Thread currentThread isInterrupted try int r String response while r input read gt 0 我有
  • 如何处理发票申请中的价格波动?

    在发票应用程序中 请考虑以下事项 我有一个产品表 其中还包含产品的价格 然后我有一个发票和发票行表 在每个发票行中 我引用产品 ID 和数量 在这种情况下 我不会将产品的价格与发票行一起存储 现在几个月后 如果产品的价格发生变化 任何报告都
  • HashSet 的初始容量

    对于我知道要插入 1000 个整数以防止需要任何内部重建的 HashSet 我应该使用什么初始容量 起初我认为我应该使用 1000 但阅读了采用initialCapacity 参数的构造函数的描述 它说Constructs a new em
  • Python单元测试(使用SQLAlchemy)不写入/更新数据库?

    我很困惑为什么我的 Python 单元测试在没有实际更新数据库的情况下运行得很好 我什至可以看到来自 SQLAlchemy 的 SQL 语句并逐步浏览新创建的用户对象的电子邮件 INFO sqlalchemy engine base Eng
  • 如何判断一个点是否在椭圆内

    我之前发布过类似的问题 我试图确定一个点是否位于椭圆内 基本上我生成一些二元正态数据并创建一个椭圆 这是我使用的代码 library MASS set seed 1234 x1 lt NULL x2 lt NULL k lt 1 Sigma
  • Ajax请求在滚动页面时加载内容

    我已经尝试和搜索但没有找到 如何更改我编写的以下方法以与 on 方法一起使用 Get old posts when scrolling down window scroll function if window scrollTop docu
  • 在已部署的 ASP.NET 网站项目上,我可以更新 .resx 文件而不重新编译吗?

    我正在将 ASP NET 应用程序部署到锁定的生产环境 将程序集 包括卫星资源程序集 推送到此环境具有与其关联的进程 但将非程序集复制到环境则没有 在 ASP NET 网站项目中 我可以更新 resx 文件而不重新编译吗 我想这取决于您的应
  • MySQL 查询所有列的 max()

    使用单个查询检索表中所有列的最大值的正确方法是什么 谢谢 澄清 相同的查询应该适用于任何表 即列名不应被硬编码到其中 SELECT max col1 as max col1 max col2 as max col2 FROM table
  • 如何使我的 .htaccess 文件允许 Safari 和其他浏览器打开 GZIP?

    我正在使用 htaccess 文件来允许我的页面调用 gzip 压缩的 JavaScript 文件 它在 ie8 和 ff3 中工作正常 但脚本未在 Safari 或 Chrome 中加载 这是我正在使用的 htaccess 文件