实力公开六码复式连码:wordpress+nginx+wp_super_cache插件开启Mod_Rewrite实现整站缓存纯静态化方法

连码四七靠三活猜生肖 www.dvwa8.cn 用过wp_super_cache插件的人都知道,它有三种缓存模式:Mod_Rewrite缓存、PHP缓存、传统缓存;其中以Mod_Rewrite缓存最快,但是Mod_Rewrite缓存默认是仅支持apache web服务的,如果我们的服务器是nginx,这就有点麻烦了;

 

一、网站开启伪静态

wordpress伪静态也非常简单,只需要两步:

 

1、设置wordpress固定链接;以html的方式结尾;

wordpress固定链接

 

2、修改nginx配置文件,增加伪静态规则;

  1. location?/?{
  2. ????root?iaccepted.net;
  3. ????index?index.php?index.html?index.htm;
  4. ????#上面为原先就存在的
  5. ????if?(-f?$request_filename/index.html){
  6. ????????rewrite?(.*)?$1/index.html?break;
  7. ????}
  8. ????if?(-f?$request_filename/index.php)?{
  9. ????????rewrite?(.*)?$1/index.php;
  10. ????}
  11. ????if?(!-f?$request_filename){
  12. ????????rewrite?(.*)?/index.php;
  13. ????}
  14. ????#下面为以前就存在的
  15. }

 

二、安装并开启了wp_super_cache;选择“Mod_Rewrite缓存”;

在后台插件管理->wp_super_cache->高级 中进行如下设置:

勾选 “启用缓存以变加快访问?!?/p>

勾选 “mod_rewrite缓存模式?!?/p>

勾选 “缓存重建以。当新缓存生成时调用缓存文件给匿名用户?!?/p>

勾选 “Mobile device support.” 也就“是移动设备支持”

勾选 “当有新文章或页面的发布或更新时清楚之前的缓存文件?!?/p>

勾选 “当页面有新评论时,只刷新该页面缓存?!?/p>

wp_super_cache “Mod_Rewrite缓存”

注意:只要是后面有“推荐”两个字的都可以选择;其它插件开启默认打上勾的我们可以不用理会;

 

由于垃圾收集器检查缓存并对过期缓存的重建过程非常耗费内存,建议直接把缓存超时时间设为0,这样就能禁用垃圾收集器

从而不会耗费太多内存,然后可以设置每天某个时间点清空缓存。

wp-super-cache到期时间和垃圾回收器

 

三、修改nginx的配置文件;增加wp_super_cache规则,并重启nginx

在server {}添加以下规则;

  1. #设置缓存
  2. #是否缓存
  3. set?$supercache?1;
  4. set?$cache_uri?$request_uri;
  5. #是否是移动端
  6. set?$ifmobile?'';
  7. #如果是post请求,默认不从缓存读取
  8. if?($request_method?=?POST)
  9. {
  10. ????set?$supercache?0;
  11. }
  12. #如果请求参数不为空,则不存缓存读取
  13. if?($query_string?!=?"")
  14. {
  15. ????set?$supercache?0;
  16. }
  17. #后台的一些操作不从缓存读取
  18. 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)")
  19. {
  20. ????set?$supercache?0;
  21. }
  22. #看下是否为移动端发来的请求,以区分缓存内容,因为尺寸不一样
  23. if?($http_user_agent?~*?'(iphone|ipod|aspen|incognito|webmate|android|dream|cupcake|froyo|blackberry9500|blackberry9520|blackberry9530|blackberry9550|blackberry?9800|webos|s8000|bada)')
  24. {
  25. ????set?$ifmobile?'-mobile';
  26. }
  27. #如果不从缓存读取,那么就设置缓存的uri为空
  28. if?($supercache?=?0)
  29. {
  30. ????set?$cache_uri?'';
  31. }
  32. #如果使用缓存,就要拼装出缓存路径
  33. if?($cache_uri?~?^(.+)$)
  34. {
  35. ????set?$cache_file?/wp-content/cache/supercache/$http_host$1/index${ifmobile}.html;
  36. }
  37. #rewrite,若存在该缓存文件,则直接静态读取,并结束下面的一系列匹配
  38. if?(-f?$document_root$cache_file)
  39. {
  40. ????rewrite?^?$cache_file?last;
  41. }

 

注意事项:

虽然说,现在wordpress+nginx+wp_super_cache插件开启Mod_Rewrite实现整站缓存纯静态化已经成功,但是可能你设置WP Super Cache的时候会出现以下几种提示:

wp-super-cache设置

 

1、Mod rewrite ??榭赡芪窗沧?!

貌似 mod_rewrite ??樯形窗沧?。也许情况并不是这样,尤其是当您不使用 Apache 作为服务器程序的时候。请检查 mod_rewrite ??槭欠癖患釉?。这对于 Super Cache 的静态文件的调用是必需的。不过您可以使用 PHP 缓存模式或者传统模式运行本插件

 

2、警告! /fujieace/nginxssl/html/wp-content 可被写入!

您应该通过 ftp 客户端或者以下命令更改 /fujieace/nginxssl/html/wp-content 的权限并确保它被严格限制: chmod 755 /fujieace/nginxssl/html/wp-content/

这个页面 讲述了如何修改文件权限。

 

3、注意:由于 Mod_rewrite 模式或者传统模式已启用,默认将显示高级设置选项卡。

 

4、注意:除非运行在 主站点,WP Super Cache 的 mod_rewrite 规则检查功能将被禁用 。

 

解决办法就是:

以上这些提示并没有任何的影响,因此我们不用理会;当然网上也有一些设置可以不让它显示,主要都是为了有强迫症的人着想,请自行百度搜索;

    A+
发布日期:2017年06月28日  所属分类:WordPress
最后修改时间:2017-06-28 20:28
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
付杰
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
  • ¥ 9.9元
  • 市场价:49.9元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元
wordpress站群服务 泛解析二级域名站群 二级目录站群
wordpress站群服务 泛解析二级域名站群 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
  • ¥ 99.9元
  • 市场价:5000元