这里主要讲动静分离的方法,如果你是全部走 CDN,下面的内容可以不用看了因为我觉得对于 WP 这种动态站没必要全站走 CDN,只需要在原站开个 Memcached 对象缓存和 PHP 脚本缓存 —— OPCache 就可以了,再把js、css、图片等静态资源牵到 CDN,就能很好的起到提速的效果。
原站准备
原站操作基于小白专用的宝塔,如果各位大佬自建的环境请自行处理。
1、添加域名
给wp目录 wp-content
添加一个域名,照下图操作,在宝塔站点设置里的子目录绑定里添加一个其他的域名
2、伪静态规则
为这个域名增加伪静态规则
规则内容为:
#注意把下面的 www.wpzhijia.com 替换为你自己的域名和路径 location ^~ /wp-content { add_header 'Access-Control-Allow-Origin' 'https://www.wpzhijia.com'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; add_header 'Access-Control-Allow-Credentials' 'true'; alias /www/wwwroot/www.wpzhijia.com/wp-content; }
跨域问题
location ^~ /wp-content
里面的是增加了跨域,因为资源域名不一样,如果调用了字体等资源,需要设置允许的域名为你网站的域名。
第 6 行配置的作用是将所有以 /wp-content/
开头的请求路径映射到服务器上的另一个路径,而不改变浏览器地址栏中的 URL。注意:请设置为你服务器对应的地址。
CDN设置
每家cdn服务商设置不一样,看自家文档介绍同理
1、注册并实名
登陆CDN后台添加加速域名,比如我的是cdn.wpzhijia.com
,这站点管理里添加你自己的域名。
2、解析
去自己的域名提供商那添加一个 cname 解析。
3、配置
解析完后,主要的是设置一下 ssl 证书,其他的选项看着弄就行,不弄也行。
操作到这里后, CDN 设置就不需要管了。
替换静态资源链接
这一步只需要在服务器里添加一段代码就行,在你用的主题的文件夹里面的 functions.php
文件里添加。
/**
* 启用静态资源cdn
*/
function io_rewrite_cdn_url(){
function io_rewrite_assets($html)
{
$suffix = 'jpg|jpeg|png|gif|js|css|ttf|woff|woff2|svg|eot'; //填写静态资源后缀
$static = 'https://cdn.wpzhijia.com
'; //填写加速的静态域名 $pattern = '/' . str_replace('/', '\/', home_url()) . '\/wp-content([^"\']*?)\.(' . $suffix . ')/i'; $replacement = $static . '/wp-content$1.$2'; $html = preg_replace($pattern, $replacement, $html); return $html; } if (!is_admin()) { ob_start("io_rewrite_assets"); } } add_action('init', 'io_rewrite_cdn_url',55); 注意修改代码里面域名 完成了,体验免费加速的快乐吧。
本文内容来源于公开网络,出于传递信息之目的整理发布。原文版权归原作者所有,若涉及侵权请先提供版权后联系我们删除