Nginx:提供压缩的 sitemap.xml,经过一次 gzip 压缩,但从后端更改时无效

Nginx:提供压缩的 sitemap.xml,经过一次 gzip 压缩,但从后端更改时无效

我有一个在 1.5 GB 中运行的 sitemap.xml。

我如何提供从 nginx 压缩的 sitemap.xml,以便它只被压缩一次然后提供服务?可能也使用缓存(如果可能的话)

此外,我还会定期更新 sitemap.xml。因此,在这种情况下,压缩的站点地图应该失效,而新的压缩站点地图应该失效。

答案1

据我所知,几乎每个爬虫/搜索引擎都理解 sitemap.xml.gz。

配置生成 sitemap.xml 的任何应用程序,使其也对其进行 gzip 压缩,然后让 Nginx 提供该预压缩文件。在 Nginx 的配置中添加类似

location /sitemap.xml.gz
    add_header Cache-Control "public, must-revalidate";

除此之外,你可能还想添加 301 重定向站点地图.xml站点地图.xml.gz

答案2

您应该启用 http_gzip_static_module。制作带有 .gz 扩展名的预压缩文件版本并删除原始文件。Nginx 将即时解压缩并提供它,如果您需要更新它 - 只需更新压缩文件即可。

http://translate.google.ru/translate?sl=ru&tl=en&js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fsysoev.ru%2Fnginx%2Fdocs%2Fhttp%2Fngx_http_gzip_static_module.html

相关内容