自动版本化图像链接在 css 和 javascript 文件内?

发布于 2024-08-16 03:25:38 字数 1104 浏览 4 评论 0原文

在我的 PHP 应用程序中,我已经成功地自动版本化了我的静态内容(CSS、JS 和图像),因此我的 URL 看起来像这样:

<link rel="stylesheet" href="http://example.com/include/css/global.1262063295.css" type="text/css" media="all" />
<img src="http://example.com/images/logo.1254284339.png" alt="" />

10 位版本号只是修改的 Unix 时间戳各个文件的。这是通过 mod_rewrite 和一些基本的 PHP 代码实现的(请参阅 http ://articletree.com/notebook/automatically-version-your-css-and-javascript-files/)。到目前为止,一切都很好。


然而,这是我的问题。

在我的 CSS 文件中,我有许多背景图像的链接:

background: url("http://example.com/images/dice.gif") no-repeat right top;

同样,在我的 JS 文件中,我也引用了不同的图像。

由于我希望对我的静态内容(css、js、图像)的所有访问都包含版本号,因此有什么方法可以自动更新链接INSIDE a .css或 .js 文件,因此上面的 css 看起来像这样:

background: url("http://example.com/images/dice.1234567893.gif") no-repeat right top;

How can this to be doneautomatically?

谢谢, 康斯坦丁

Inside my PHP application, I'm already successfully autoversioning my static content (CSS, JS, and images), so my URLs look something like this:

<link rel="stylesheet" href="http://example.com/include/css/global.1262063295.css" type="text/css" media="all" />
<img src="http://example.com/images/logo.1254284339.png" alt="" />

The 10-digit version numbers are simply the modification Unix timestamp of the individual files. This is achieved with mod_rewrite and some basic PHP code (see http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/). So far so good.


HOWEVER, here's my problem.

Inside my CSS file, I have links to many background images:

background: url("http://example.com/images/dice.gif") no-repeat right top;

Similarly in my JS files, I reference different images as well.

Since I want all access to my static content (css, js, images) to have the version number included, is there any way to automatically update the links INSIDE a .css or .js file so the above css would look like this:

background: url("http://example.com/images/dice.1234567893.gif") no-repeat right top;

How can this be done automatically?

Thanks,
Konstantin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安静被遗忘 2024-08-23 03:25:38

您也可以通过 PHP 提供 CSS 和 JS 文件。例如,将 global.css 重命名为 global.css.php。确保发送到正确的 HTTP 响应标头。

<?php // global.css.php
header('Content-Type:text/css; charset:utf-8');
include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); ?>

#cssrule { background: url(<?php autoVer('/img/background.gif') ?>); }

You can serve your CSS and JS files through PHP as well. For example, rename global.css to global.css.php. Make sure to send to correct HTTP response headers.

<?php // global.css.php
header('Content-Type:text/css; charset:utf-8');
include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); ?>

#cssrule { background: url(<?php autoVer('/img/background.gif') ?>); }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文