nginx环境支持 wordpress wp-super-cache的mod_rewrite配置方法

其实这个问题困扰我很久了,因为每次打开网站跟龟速一样,就算优化下,让他能快点,有钱的都是往硬件上着手(升级服务器,说的好轻松啊,可我的口袋空空如也)。所以只能想其他方法,通过度娘老师,wp-super-cache这款插件是可以把网页缓存成静态,这样网速会快点,于是就把插件安装和设置都给弄完了。
插件的设置方法,可参考下面的两个教程
http://zmingcx.com/wp-super-cache-tutorial.html
https://boke112.com/3560.html

唯独这个mod_rewrite没能解决。今天就是奔着这个来的。

环境是军哥的lnmp1.4,用的也是里面的wordpress.conf规则。(环境不同,但是原理是一样的)
前面的步骤做好后可直接修改wordpress.conf(位置在/usr/local/nginx/conf/)
实在找不到的,可以运行
cd /
find –name wordpress.conf
运行完,就有相关的文件位置信息出来。

然后修改,下面的wordpress.conf的代码:
——————————开始——————————
# 如果请求的文件已存在,直接返回
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) {
set $supercache_file $supercache_file;
}

location / {
try_files $supercache_file $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
——————————结束——————————
代码没有弄高亮,基本很少用,所以就没整高亮,大家就将的看吧。

写了两篇偏技术的文章,主要也是为了下次再遇到这个问题,能早点解决,好记性不如烂笔头,干脆都写了下来。
其实今天还解决了一个问题,就是wordpress有更新版本就会发邮箱通知我,一天好几封,很烦的,解决方法度娘搜下就有了,很简单,所以就不写了。

大家,晚安!
nginx环境支持 wordpress wp-super-cache的mod_rewrite配置方法

    A+
发布日期:2018年08月25日  所属分类:野人说
标签:
支付宝红包

发表评论

用QQ信息填写