javascript - 在 php 中设置外部 css/js/jpg 文件的过期时间
问题描述
我们如何在 php.ini 中设置外部 css、js 和图像的过期时间。
我尝试了以下步骤,但我有问题。
在外部文件之前 -
<script type="text/javascript" src="https://ssl.google-analytics.com/ga.js"></script>
下一步是创建一个 .php 文件。我们称之为externaljs.php。在其中插入以下代码:
<?php
$files = array(
'ga.js' => 'https://ssl.google-analytics.com/ga.js',
'bsa.js' => 'https://s3.buysellads.com/ac/bsa.js',
'pro.js' => 'https://s3.buysellads.com/ac/pro.js');
if(isset($files[$_GET['file']])) {
if ($files[$_GET['file']] == 'ga.js'){
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + ((60 * 60) * 48))); // 2 days for GA
} else {
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // Default set to 1 hour
}
echo file_get_contents($files[$_GET['file']]);
}
?>
我们将文件名作为查询参数发送给 php 文件,并且可以设置过期时间。
<script type="text/javascript" src="externaljs.php?file=ga.js"></script>
现在利用浏览缓存显示 externaljs.php 文件未设置过期时间
请给我们建议。
解决方案
你最好用 htaccess 文件来做。参考链接https://gtmetrix.com/leverage-browser-caching.html
推荐阅读
- python - 对另一个函数 Python 中一个函数的结果求和
- linux - 一台服务器从多个客户端接收数据的 TCP 性能调整
- sql-server - 如何对sql中的选定列进行分组?
- react-native - 整页没有滚动反应本机
- javascript - Uncaught (in promise) TypeError: t is not a function
- javascript - 如何从表单中调用 js 脚本?
- actions-on-google - 如何让我的代理重复任何名称 - Dialogflow
- javascript - 用大数据过滤列表 - VueJs
- node.js - 我试图通过 ;module.exports = mongoose.model('product',schema); 在 nodejs mongodb 中导出一个模块;
- c# - ac#统一跳转代码的一些问题