如何为css和javascript设置缓存

时间:2016-05-24 08:47:27

标签: javascript php html .htaccess caching

所以我一直在寻找一种方法来设置我的网站缓存过期。我想设置css和js到期但我找不到任何有用的信息。我试着用

<meta http-equiv="Pragma" content="no-cache" />

但它不起作用。大多数在线资料只是谈论Apache,xml和其他,但我不会使用它们。有没有办法使用PHP或HTML实现过期?它是如何完成的?

1 个答案:

答案 0 :(得分:1)

许多不同的方法可以做到这一点。以下是一个简单的例子。

名为test.css的CSS文件(对Javascript也一样)。

body { background:#abc }

用于呈现请求的包含无缓存请求标头的t.php的CSS或Javascript的PHP文件:

<?php

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

// use a switch statement for basic checking and flexibility  
switch($_SERVER['PATH_INFO']) {
    case '/css':
        echo file_get_contents('./test.css');
        exit;
    case '/js':
        echo file_get_contents('./test.js');
        exit;
}
?>

HTML / PHP文件的标题部分

<head>                              
<link rel="stylesheet" href="t.php/css" />
<script src="t.php/js"></script>
</head>