nginx中CSS/JS的自动版本控制

nginx中CSS/JS的自动版本控制,nginx,versioning,auto-versioning,Nginx,Versioning,Auto Versioning,我有一个设置,其中nginx提供所有静态内容(CSS/JS)。 我们的问题是,当我们更新静态内容时,浏览器不一定会立即更新它们,从而在推送新版本时产生问题 我希望有一个nginx插件,它基本上可以替换对CSS/JS和ads的所有调用,比如: 之前: <link rel="stylesheet" type="text/css" href="/media/css/style.css" /> 之后: <link rel="stylesheet" type="text/css"

我有一个设置,其中nginx提供所有静态内容(CSS/JS)。 我们的问题是,当我们更新静态内容时,浏览器不一定会立即更新它们,从而在推送新版本时产生问题

我希望有一个nginx插件,它基本上可以替换对CSS/JS和ads的所有调用,比如:

之前:

<link rel="stylesheet" type="text/css" href="/media/css/style.css" />

之后:

<link rel="stylesheet" type="text/css" href="/media/css/style.css?3428432" />

并根据style.css文件本身的最新更改日期自动执行此操作。所以我不必更新HTML。
有这个插件吗?我知道谷歌mod_pagespeed在他们的apache2模块中做了类似的事情。。但是我找不到任何人支持nginx。

一般来说,这是在应用程序本身中完成的,而不是在web服务器级别。Web服务器通常只知道提供什么服务以及从何处提供服务。PHP和Rails都能够完成上面所描述的工作,但同样,这是在应用程序本身中实现的


据我所知,这是一个很好的循序渐进的过程,与您所要求的非常相似,但同样,这涉及到应用程序更改。如果你在谷歌上搜索“nginx css versioning”,你会找到其他讨论nginx配置的文章,但我看到的所有内容都涉及到应用程序的更改。

将下面的内容添加到nginx应该只使用文件名而忽略版本信息

location ~ ^/(assets/js|assets/css) {
 root path/to/the/static/files;
 access_log off;
 expires max;
 try_files $uri $1;
}

嗯,真的谢谢你。我想解析所有传出内容将是一个性能瓶颈。将其构建到应用程序rathar中比nginx插件更好。