短篇小说:我正在使用这种技术通过使用 filemtime() 在文件名中添加一个字符串来自动版本化我的 css 和 js 文件: http ://w-shadow.com/blog/2012/07/30/automatic-versioning -of-css-js/
我在我的本地机器(MAMP)上启动并完美运行,但我使用 WP Engine 进行托管,它们是在 nginx 上设置的,不支持 .htaccess 重写规则。
不过,它们确实有输入 PHP 正则表达式 (preg_replace) 的地方,它们的指令如下所示:
HTML 后处理
PHP 正则表达式到替换值的映射,在 WordPress 完成发出整个页面后在所有博客 HTML 上执行。模式和替换行为采用 preg_replace() 的方式。以下示例删除了第一个模式中的所有 HTML 注释,并导致在第二个模式中从另一个域加载一个 favicon(具有任何文件扩展名):
#<!--.*?-->#s =>
#\bsrc="/(favicon\..*)"# => src="http://mycdn.somewhere.com/$1"
. 所以我想知道将这个重写规则转换为 PHP 正则表达式有多难:
RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L]
如果这甚至与 apache 重写做同样的事情。该技术的重点是破坏 css 或 js 文件的浏览器缓存以及更改它们的时间,但不求助于具有各种缺点的查询字符串。