问题标签 [mod-expires]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
364 浏览

performance - Pagespeed 和 YSlow 不遵守对 Expires 标头的更改

我将以下代码添加到 htaccess 文件中:

但谷歌的 PageSpeed 和 Chrome 的 YSlow 插件并未反映这些变化。

根据上面的代码,有人可以解释为什么我继续收到 PageSpeed 和 YSlow 的过期标头的 F 级吗?更重要的是,为什么 Google 的 PageSpeed 显示定义的文件类型在 4 小时内过期,而不是在 htaccess 文件中定义的 1 个月?

这是我的响应标头:

0 投票
1 回答
1357 浏览

drupal - 过期标头不起作用drupal

我在 .htaccess 文件中设置过期标头,如下所示

ExpiresActive On
ExpiresDefault A1209600

它适用于文档根目录中的所有文件,但我有一个单独的已安装驱动器,用作 drupal 文件系统(私有),我在其中存储我的 jcarousel 图像,对于这些图像,过期标头不起作用。

0 投票
1 回答
949 浏览

wordpress - W3C 验证器不加载实际源

我想使用 W3C 验证器来优化我的 Wordpress 博客。在主页上,它声称有 28 个错误。例如,其中之一如下:

第 28 行,第 53 列:省略了“元”的结束标记,但指定了 OMITTAG NO

所以我修复了它并点击了重新验证。尽管如此,验证者说,这个错误仍然存​​在。但是,如果我从我的网络浏览器查看浏览器源代码窗口,我可以看到可能更改已成功交付。如果我在 W3C 验证器选项中选中“显示源代码”并重新加载我的站点,我可以看到验证器使用的来自我站点的源代码已过时/没有更改。

那么有人能解释一下为什么 W3C 验证器无法识别我的更改吗?如果你不想自己看 - http://code-bude.net/是我博客的 URL。

0 投票
2 回答
138 浏览

wordpress - mod_expire 可能与 Wordpress 更新冲突吗?

我想使用 mod_expire 在用户浏览器中缓存我的 Wordpress 博客的内容,从而提高我在 YSlow 和 Google Pagespeed 的排名。所以我想使用如下配置。

但是,我现在提出了以下问题。如果插件代码中断并且插件开发人员发布更新怎么办?我将下载并将其安装到我的博客,但插件中损坏的 .js 文件已被用户的浏览器缓存。
在缓存时间到期之前,用户会无法查看我的页面,还是会自动从插件更新中获得新页面?

0 投票
1 回答
224 浏览

php - 调整大小图像的 PHP 隐藏 URL

我们缓存多种尺寸的图像。

图片信息:

所以我们构建了以下图片缓存 URL:

http://cache.example.com/image/120x150/ksjdaflkj678687TYTGGGShjk78/image-file-name.jpg

当请求此 URL 时,http://cache.example.com/image/120x150/ksjdaflkj678687TYTGGGShjk78/image-file-name.jpg,这在幕后(htaccess 类型的东西)被重写为:http://cache。 example.com/image.php?height=120&width=150&originalUrlHashed=ksjdaflkj678687TYTGGGShjk78&preferredFileName=image-file-name.jpg

散列图像被解码,从原始位置下载,调整大小并物理保存在这里:/image/120x150/ksjdaflkj678687TYTGGGShjk78/image-file-name.jpg。为什么?因为在第二个请求中,文件物理存在于磁盘上并作为普通文件返回,然后我们可以使用 apache2 mod_expires 缓存,而不是在每次请求时下载和调整图像大小。

问题在于这样的远程图像 URL:

原始图像哈希为:

  • eNptzbtOAzEQheGnoZwdr40JQkJIBIo0kI5y5cusM4pjWx4j5fFJICXt_x3pHMZoT4g8Rcp5CvWE0Qme3eTkcMaUq3cZhAdBJOFU7rT6en9FZR6MUXYD3vtH8LPR4Fcd4F4HFZ01q9MzzvjZOXFxeV_SC8fnt8sH7nuN32Esu5NLJHhtyzYzlbHcSPCjDvK1HgV3RRr3WpZ_0my7EHqSUVfMro3agG8IvwgbqxUkKtQ5wN8SrFJQ0tQk_gCey1fZ

这使得 URL 看起来像这样:

此 URL 的哈希部分超过 255 个字符,这会导致 Apache 错误 - https://serverfault.com/questions/120397/max-length-of-url-257-characters-for-mod-rewrite

编辑:只是补充一下 - 问题在于哈希的长度。使用 255 个字符以下的哈希,此解决方案完美运行。

这里有几个考虑:

  1. 缓存 URL 与调用它的服务器位于不同的服务器上。它们不共享数据库,因此原始 URL 必须包含在 URL 中。
  2. 我需要对 URL 进行哈希处理并使用哈希作为目录名称,以便我们可以将调整大小的文件物理保存到磁盘以供将来请求。
  3. 这意味着根据请求 - 它会神奇地创建文件并将其保存到磁盘。根据请求二,它只返回物理图像。
  4. 如果 cache.example.com 和调用 URL 的网站在同一个服务器上,并且可以共享一个数据库,那么我们可以将图像 URL 保存到一个表中并返回一个哈希或键或其他东西。不幸的是,这不是一个选择。

解决方案?

  • 我能想到的唯一解决方案是以某种方式压缩 URL。但是,由于我需要(并且确实)对其进行 base64 编码以使其沿 URL 工作,因此这会增加额外的大小。

有没有人有任何想法?

我遇到的问题与这个问题非常相似。

0 投票
2 回答
25995 浏览

apache - Apache: set max-age or expires in .htaccess for directory

I have a handful of directories with content which will never change.

Is it possible to create .htaccess file which tells the browser that anything in this directory and sub- directories can be cached for a very long time?

I would like to copy the same .htaccess file in each directory if possible.

If this is possible would you recommend max-age over expires or both?

0 投票
2 回答
2176 浏览

apache - 如何在 cakephp 2 中添加标头过期

我正在研究 cakephp2 网站速度改进之一。

现在我需要设置一些标头过期和缓存内容。

但是在 cakephp 中,我必须在其中放置我的代码。

请建议任何不错的 htaccess 代码。

我试过了

但它不起作用,我也尝试了其他一些代码,但没有一个对我有用。是否缺少任何关键配置?

还有一件事,如果有任何其他技巧可以提高性能,那么请建议我。

0 投票
1 回答
1309 浏览

.htaccess - ExpiresByType 不起作用但在.htaccess 中吗?

我对此感到相当困惑,并希望有人能够提供一些启示。

在我的 htaccess 文件中,我有:

但是,当我检查标题时,它似乎不起作用。
我得到“无存储,无缓存,必须重新验证,检查后 = 0,预检查 = 0”

但是,如果我使用此代码:

它确实拾取了缓存。 max-age=14400,必须重新验证

我错过了什么吗?一个用于服务器,一个用于浏览器?我的意思是,我更喜欢使用第一个,因为如果它们都相同,它会附带样板。

提前致谢!

0 投票
0 回答
2624 浏览

php - htaccess 过期标头和压缩

经过长时间搜索和测试我的应用程序后,我确实将以下行添加到我的“htaccess”文件中,但是当我测试网站是否启用压缩时,它显示“否”并且对于过期标头,它似乎没有工作。请提供修复

0 投票
1 回答
1013 浏览

apache - 利用浏览器缓存 - 修改 .htaccess 文件时出现内部服务器错误

我正在努力加快我的网站速度。在谷歌 PageSpeed Insights 我有 86 分,但我有问题Leverage browser caching。在推荐中,我发现了这段.htaccess代码:

但是当我将它插入我的.htaccess文件时,我得到内部服务器错误(500)。

我的工作.htaccess代码是这样的:

我做错了什么?