WordPress WP-Super-Cache 缓存插件 Nginx 优化规则

WP-Super-Cache 作为 WordPress 的老牌静态缓存插件,它在 WordPress.Org 的一个角落一直有一份 Nginx 伪静态规则(https://wordpress.org/support/article/nginx/#wp-super-cache-rules)。
配置后可绕过 PHP 直接由 Nginx 返回 HTML 页面,能大大提高网站的并发能力和速度。
这份规则如下,替换 WordPress 原本的伪静态规则即可(已修改同时兼容 HTTPS/HTTP,并增加是否命中的 Nginx-Static 头)。

# WP Super Cache 规则

set $cache_uri $request_uri;
set $nginx_static 'BYPASS For File';

# POST 请求不读取缓存
if ($request_method = POST)
{
    set $cache_uri 'null cache';
    set $nginx_static 'BYPASS For POST';
}

# 查询请求不读取缓存
if ($query_string != "")
{
    set $cache_uri 'null cache';
    set $nginx_static 'BYPASS For Query';
}

# 特定页面不读取缓存
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(App|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap (_index)?.xml|[a-z0-9_-]+-sitemap ([0-9]+)?.xml)")
{
    set $cache_uri 'null cache';
    set $nginx_static 'BYPASS For URL';
}

# 特定 Cookie 不读取缓存
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in|woocommerce_items_in_cart|woocommerce_cart_hash|wptouch_switch_toogle")
{
    set $cache_uri 'null cache';
    set $nginx_static 'BYPASS For Cookie';
}

# 判断缓存是否存在
if (-f $document_root/wp-content/cache/supercache/$http_host/$cache_uri/index-https.html)
{
    set $nginx_static 'HIT';
}
if (-f $document_root/wp-content/cache/supercache/$http_host/$cache_uri/index.html)
{
    set $nginx_static 'HIT';
}

location /
{
    try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args;
}

add_header Nginx-Static $nginx_static;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/386889.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2023年10月18日 17:54
下一篇 2023年10月19日 17:49

相关推荐

  • 如何为WordPress添加动态侧边栏。

    熟悉WordPress的人应该都知道,侧边栏是一个非常重要的区域,你可以用来它展示热点文章、添加联系方式、嵌入广告社交媒体等信息,更好地利用网站 不过WordPress默认的侧边栏有一点局限,它只能设置整个网站的侧边栏…

    2022年10月24日 wordpress开发
    025
  • WordPress怎样添加站点地图(Sitemap)。

    为了能让搜索引擎更快地收录网站内容,通常我们都会制作网站地图,让爬虫能够更轻松地抓取到网站的最新文章,在本文中我们来分享如何为你的WordPress站点添加站点地图 什么是站点地图 简单来说,站点地图就是一个xm…

    2022年10月25日 wordpress开发
    028
  • WordPress移除顶部工具栏链接的方法(Toolbar)。

    WordPress顶部工具栏原本是一个非常方便简洁的工具,包含了少量需要快速启动的功能,但是有些主题和插件却随意地在上边添加链接,占据了很多原本就不算大的空间,给操作带来很大的不便 为了能够有更好的体验,有必…

    2022年10月25日 wordpress开发
    021
  • 为WordPress文章添加阅读进度条 Worth The Read。

    现在,很多阅读工具或者网站中都会添加一个阅读进度条,让用户可以非常快速的了解自己已经阅读了多少内容,还剩下多少的阅读进度,体验非常好,在本文中我们教大家如何为WordPress添加文章阅读进度条 安装进度条插…

    2022年10月24日 wordpress开发
    017
  • wordpress更换域名后文章图片不显示的解决方法

    原先搭建网站的时候忘记在域名前面加www.了。于是昨天把域名在前面改成了http://www.cwhello.com之后博客内容的图片就不显示了,看到图片的链接还是http://cwhello.com。于是又是改七牛那边的操作,又是改博客本地…

    2015年12月4日
    0419
  • 用phpmyadmin从数据库修改WordPress主题。

    使用过Wordpress的朋友都知道,在仪表盘修改主题是非常简单,基本上一键切换,但是有时候会因为主题的错误造成网站后台无法访问,这个时候想要切换主题就要通过其他方法了,今天就介绍下如何使用phpmyadmin数据库修…

    2022年10月25日
    029
  • wordpress插件自动更新设置方法。

    在安全方面来说,更新WordPress插件是一件非常必要的事情,因为低版本的插件可能会被他人利用来破坏网站,我们必须尽量保证自己的插件是最新版本防止漏洞,不过这的确是一件非常麻烦的事情 对于网站使用频率较低的…

    2022年10月24日
    025
  • 如何隐藏WordPress主题或插件的更新提示。

    平常在维护WordPress时,有时候会因为一些错误或者兼容性等问题,我们不能马上升级主题或插件到最新的版本,需要保持旧版本,但是这时候会有一个问题就是每次点开后台都会看到非常显眼的小红点,影响后台体验 在本…

    2022年10月25日
    036

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息