您现在的位置是:首页 > 网站制作 > WordpressWordpress

wordpress在代理(squid)中更新css/js文件缓存的方法

杰帅2023-06-19【Wordpress】人已围观

简介函数中你可以定义css/js的版本号,以便我们在对css/js文件更新时能够清楚浏览器的缓存,默认的版本号是wordpress的版本号。版本号会链接在css/js完整路径的后面,一般在版本号变更后,css/js载入的样式的完整URL也会变更,浏览器发现URL变更会重新请求css/js文件,这样就能达到载入最新的css/js文件。

在wordpress添加css或者js文件,我们一般使用这四个函数来实现:


 
  1. wp_enqueue_script()
  2. wp_enqueue_style()
  3. wp_register_script()
  4. wp_register_style()

函数介绍:

  • 点击查看wp_enqueue_script()介绍
  • 点击查看wp_enqueue_style()介绍
  • 点击查看wp_register_script()介绍
  • 点击查看wp_register_style()介绍

函数中你可以定义css/js的版本号,以便我们在对css/js文件更新时能够清楚浏览器的缓存,默认的版本号是wordpress的版本号。版本号会链接在css/js完整路径的后面,一般在版本号变更后,css/js载入的样式的完整URL也会变更,浏览器发现URL变更会重新请求css/js文件,这样就能达到载入最新的css/js文件。

但是很多代理软件(比如squid)并不支持”?“号形式的cache,我们在使用反向代理来cache我们的网站时,特别在squid3.0以后,已经开始不对带”?”号的url进行缓存了。所以我们如果要使用squid的缓存功能就必须去掉”?”,更新squid代理商的缓存只能通过修改文件名来实现。

以下我们将介绍在wordpress通过对版本号的控制来修改js/css文件名从而能够在代理软件中达到缓存的目的:
1、在我们的主题代码functions.php文件中添加如下代码:


 
  1. /**
  2. * Description: wordpress在代理(squid)中更新css/js文件缓存的方法
  3. * Author:wordpress教程网
  4. * Author URI: http://www.shouce.ren/
  5. */
  6. function ds_filename_based_cache_busting( $src ) {
  7. // 管理员的后台css/js文件无需处理
  8. if ( is_admin() )
  9. return $src;
  10. //将版本号添加到文件名中已”.“号来区分
  11. return preg_replace(
  12. '/\.(js|css)\?ver=(.+)$/',
  13. '.$2.$1',
  14. $src
  15. );
  16. }
  17. add_filter( 'script_loader_src', 'ds_filename_based_cache_busting' );
  18. add_filter( 'style_loader_src', 'ds_filename_based_cache_busting' );

如果你使用的是apache服务器,在你的根目录的.htaccess文件下添加:


 
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /
  4.  
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule ^(.+)\.(.+)\.(js|css)$ $1.$3 [L]
  8. </IfModule>
  9.  

如果你是nginx服务器配置如下:


 
  1. location ~ ^(.+)\.(.+)\.(js|css)$ {
  2. alias $1.$3;
  3. }

Tags:wordpress   代理   squid   更新   文件

很赞哦! ()

文章评论

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计1172篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们