rewrite.php wordpress 缓存 固定连接,Nginx下启用wp-super-cache的mod_rewrite缓存模式及其配置规则...

昨天晚上在改 Hyper Cache插件,以便使其更轻巧。但是遇到一个棘手的问题没有解决,暂时也没什么合适的办法,所以重新启用了wp-super-cache插件,因为服务器是Nginx的,所以无法启用它的mod_rewrite(最优缓存模式),后来@杜小白 童鞋告知她有,今天遂搬运过来,我这也已经用上了,再做个记录。

将以下代码扔到nginx.conf中,然后重启nginx。

location / {

# 如果请求的文件已存在,直接返回

if (-f $request_filename) {

break;

}

set $supercache_file '';

set $supercache_uri $request_uri;

set $supercache 1;

set $ihttp_host '';

if ($request_method = POST) {

set $supercache 0;

}

# 仅在访问文章永久链接时使用静态文件,请求中带参数则不使用静态缓存

set $qs 0;

if ($query_string) {

set $qs 1;

}

# 不过从 twitter, facebook, feedburner 链接点过来的,总是带参数,这些访问仍然可以使用静态文件

if ($query_string ~* "^utm_source=([^&]+)&utm_medium([^&]+)&utm_campaign=([^&]+)(&utm_content=([^&]+))?$") {

set $qs 0;

set $supercache_uri $document_uri;

}

#deactivate on high load

if ($qs = 1) {

set $supercache 0;

}

# 针对已登录用户(发表过评论),可以不静态化。在访问量高峰时可注释掉

if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {

set $supercache 0;

}

# 支持移动设备,访问移动版本的网页缓存

if ($http_user_agent ~* '(iphone|ipod|aspen|incognito|webmate|android|dream|cupcake|froyo|blackberry9500|blackberry9520|blackberry9530|blackberry9550|blackberry 9800|webos|s8000|bada)') {

set $ihttp_host '-mobile';

}

# 指定静态缓存文件的路径

if ($supercache = 0) {

set $supercache_uri '';

}

if ($supercache_uri ~ ^(.+)$) {

set $supercache_file /wp-content/cache/supercache/$http_host$1/index${ihttp_host}.html;

}

# 只有当缓存文件存在时,才进行 rewrite

if (-f $document_root$supercache_file) {

#rewrite ^(.*)$ $supercache_file break;

rewrite ^ $supercache_file last;

}

# 所有其他请求,转给 wordpress 处理

if (!-e $request_filename) {

rewrite . /index.php last;

}

其中小白童鞋都做了详细的注释,根据自己需求改吧!

我这边是取消了这一段,对于已经留言过的用户也进行了缓存:

# 针对已登录用户(发表过评论),可以不静态化。在访问量高峰时可注释掉

if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {

set $supercache 0;

}

其他根据自己需求咯~

小白的文章写的很全面,很详细,这里只搬了我用到的一部分,详文请移步:原文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值