首页 » SEO优化 » php全静态分别技巧_WordPress简单开启动静态分离

php全静态分别技巧_WordPress简单开启动静态分离

访客 2024-12-17 0

扫一扫用手机浏览

文章目录 [+]

加了缓存之后网站速率已经很快了,如果想要锦上添花那么就须要用到我们的动静态分离,什么叫动静态分离呢?便是把网站的动态内容和静态内容分开,网站的动态内容便是须要我们做事器实时运算的内容,而静态内容便是网站上图片,视频,CSS,JS等等一系列不须要做事器实时运算的内容。
我们将网站进行动静分离之后动态和静态资源会由两个域名来供应,比如本站的网址是www.hongnote.cn ,静态资源地址为img.hongnote.cn,你随便选张本站的图片查看链接就会创造图片的url为img前缀的这个域名。
这样做有什么好处呢,我可以直接在CDN上把img的这个静态资源的域名把它设为全部缓存,这样访问本站的静态资源基本上都是CDN节点供应,为做事器减轻压力。
话不多说,立时开始支配教程

宝塔新建站点

宝塔新建一个站点,比如img.abc.com,或者其它的域名都可以

php全静态分别技巧_WordPress简单开启动静态分离

配置vhost文件

将以下代码添加到静态资源的vhost文件中,在#SSL-END下面添加即可

php全静态分别技巧_WordPress简单开启动静态分离
(图片来自网络侵删)

# 图片等静态资源要求代理到本地主站(关键配置) location ~ .\.(js|css|png|jpeg|jpg|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { add_header Access-Control-Allow-Origin ; # 办理字体跨站问题 add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,OPTIONS; proxy_pass https://127.0.0.1; # 如果是启用了 https 的网站,这里最好改成 https://127.0.0.1,避免主站加了非 https 协议的跳转配置,导致不堪利。
proxy_set_header X-Forwarded-For $remote_addr; proxy_redirect off; proxy_set_header Host www.hongnote.cn; # 这里改为实际主站域名(必须) expires max; # 设置浏览器 304 缓存为最长期限 } # 为这个二级域名额外设置一个 robots 文件 location ~ (robots.txt) { rewrite /robots.txt /imgrobots.txt last; # 在网站根目录新增一个 imgrobots.txt,内容和七牛 CDN 类似,禁止搜索引擎抓取非静态资源 } # 如果通过静态域名访问的是非静态资源,比如访问了我们的文章页面,则跳到主站对应的页面。
location / { if ( $request_uri !~ .\.(js|css|png|jpeg|jpg|gif|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)) { rewrite ^(.)$ $scheme://www.hongnote.cn$1 permanent; # 域名 修正为实际主站域名 } }
静态资源robots.txt文件支配

静态网站根目录添加一个imgrobots.txt文件,配置如下,用于防止搜索引擎抓取除了静态资源以外的其它资源

User-agent: Allow: /robots.txtAllow: /wp-content/Allow: /.pngAllow: /.jpgAllow: /.jpegAllow: /.gifAllow: /.bmpAllow: /.icoAllow: /.jsAllow: /.cssDisallow: /functions.php添加代码

将以下代码添加到主题的functions.php文件中,自行更换域名

function QiNiuCDN(){ function Rewrite_URI($html){ $domain = 'www\.hongnote\.cn'; //填写主站域名,小数点前须要加上反斜杠转义 $static = 'img.hongnote.cn'; //填写二级静态域名 //更多静态资源须要更换,可以将后缀加到后面的括号,利用分隔符分割 $html = preg_replace('/http(s|):\/\/'.$domain.'\/wp-([^"\']?)\.(js|css|png|jpeg|jpg|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)/i','//'.$static.'/wp-$2.$3',$html); return $html;} if(!is_admin()){ ob_start("Rewrite_URI"); }} add_action('init', 'QiNiuCDN');

大功告成,再次打开你的网站你的图片链接便是由静态资源域名供应了,由于资源都是在同一个做事器里面,如果不该用CDN话基本没什么浸染,只是看着好看而已

要把稳的是这种动静分离是不彻底的,由于实质上资源还是在一个做事里面的,须要合营CDN利用,主站托管在国外做事器的可以参照本站方法将静态资源用一个备案的域名接入CDN来加速,这样你的网站速率在海内访问也会快很多。

也不用顾虑缓存规则会不会影响网站内容,直接将静态资源域名的CDN设置为全部缓存即可

原文链接:HongNote - WordPress大略开启动静态分离

标签:

相关文章