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

CSS および JS ファイルは、PHP を介して提供することもできます。たとえば、名前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') ?>); }
于 2009-12-29T10:29:13.017 に答える