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://particletree.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、图像)的所有访问都包含版本号,有没有办法自动更新 .css 或 .js 文件内的链接所以上面的 css 看起来像这样:

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

这怎么能自动完成?

谢谢,康斯坦丁

4

1 回答 1

4

您也可以通过 PHP 提供 CSS 和 JS 文件。例如,重命名global.cssglobal.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') ?>); }
于 2009-12-29T10:29:13.017 回答