nginx/lnmp下WP Super Cache的Rewrite规则

免费空间   2020-09-15 09:40  

想在nginx/lnmp下使用著名的WP Super Cache缓存插件吗?参照此篇博文,你就可以轻松的实现nginx/lnmp下完美的使用WP Super Cache高效率的缓存插件了。

小编的DS VPS之前用的是LNMP环境,即(Linux下的Nginx、MySQL、PHP),在上面的网站用的是wordpress程序。之前老出现502错误,后来给解决了,具体看小编写的另一篇博文lnmp 502错误终极解决办法汇总。

小编资源站之前一直用WP Super Cache,觉得还不错。所以想在nginx/lnmp环境下使用WP Super Cache插件,但大家都知道WP Super Cache需要.htaccess规则,而nginx/lnmp下不支持.htaccess,需要转换为nginx/lnmp下的Rewrite规则。小编经过在互联网上疯狂的搜寻,最好找到了Rewrite规则。通过在本地的调试发现,WP Super Cache工作的很正常。然后在VPS上去运行,发现也很正常。好东西当然要分析给各位了,哈哈。nginx/lnmp下的Rewrite规则如下:

location /
{
autoindex off;
set $wp_super_cache_file ”;
set $wp_super_cache_uri $request_uri;
if ( $request_method = POST )
{
set $wp_super_cache_uri ”;
}
if ( $query_string )
{
set $wp_super_cache_uri ”;
}
if ( $http_cookie ~* “comment_author_|WordPress|wp-postpass_” )
{
set $wp_super_cache_uri ”;
}
if ( $wp_super_cache_uri ~ ^(.+)$ )
{
set $wp_super_cache_file /wp-content/cache/supercache/$http_host/$1index.html;
}
if ( -f $document_root$wp_super_cache_file )
{
rewrite ^(.*)$ $wp_super_cache_file break;
}
if (-f $request_filename)
{
expires 30d;
break;
}
if (!-e $request_filename)
{
rewrite ^(.+)$ /index.php last;
}
}

如果你是lnmp的环境,直接用以上内容覆盖/usr/local/nginx/conf/目录下的wordpress.conf文件的内容就行了。当然,你原来的wordpress固定连接也会正常的。

另外值得注意的是,如果你的WP Super Cache使用的是Use PHP to serve cache files,那么以上的规则就不要那么麻烦了,只在原wordpress.conf文件后添加以下代码就行了。

location{
if (!-e $request_filename) {
rewrite . /index.php last;
}
}

如果你用的是非lnmp环境,但使用的是nginx,那么参照如下步骤:

    在/usr/local/nginx/conf下新建wordpress_001.conf文件,输入以上Rewrite规则并保存。 编辑你的wordpress域名虚拟主机配置文件,如xianba.net.conf,在最后面加上

    include wordpress_001.conf;

    重启你的nginx。

希望能帮到各位网友。

您或许对下面这些文章有兴趣:                     本月吐槽辛苦排行榜

部落快速搜索栏

各类专题梳理

网站导航栏

订阅本站

联系部落首领^_^

  有关于免费资源部
  落的问题、意见、
  建议、推荐免费资
  源、交换链接等,
  欢迎与我联系

  QQ:123456789

  Q群:123456789

  邮箱:123456@163.com

返回顶部