欢迎来到传世资源网!
加载中...
正在加载,请耐心等待...

wp-super-cache如何在Nginx下启用的mod_rewrite缓存模式及其配置规则

2021.5.16 技术教程 2018 编辑

记录一下,如何在Nginx下启用mod_rewrite

  1. location / {

  2. <span class="hljs-comment"># 如果请求的文件已存在,直接返回</span>

  3. <span class="hljs-keyword">if</span> (<span class="hljs-operator">-f</span> <span class="hljs-variable">$request_filename</span>) {

  4. <span class="hljs-built_in">break</span>;

  5. }

  6. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache_file</span> <span class="hljs-string">''</span>;

  7. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache_uri</span> <span class="hljs-variable">$request_uri</span>;

  8. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache</span> <spanclass="hljs-number">1</span>;

  9. <span class="hljs-built_in">set</span> <span class="hljs-variable">$ihttp_host</span> <span class="hljs-string">''</span>;

  10. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$request_method</span> =POST) {

  11. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache</span> <spanclass="hljs-number">0</span>;

  12. }

  13. <span class="hljs-comment"># 仅在访问文章永久链接时使用静态文件,请求中带参数则不使用静态缓存</span>

  14. <span class="hljs-built_in">set</span> <span class="hljs-variable">$qs</span> <span class="hljs-number">0</span>;

  15. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$query_string</span>) {

  16. <span class="hljs-built_in">set</span> <span class="hljs-variable">$qs</span> <span class="hljs-number">1</span>;

  17. }

  18. <span class="hljs-comment"># 不过从 twitter, facebook, feedburner 链接点过来的,总是带参数,这些访问仍然可以使用静态文件</span>

  19. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$query_string</span> ~* <span class="hljs-string">"^utm_source=([^&amp;]+)&amp;utm_medium([^&amp;]+)&amp;utm_campaign=([^&amp;]+)(&amp;utm_content=([^&amp;]+))?$"</span>) {

  20. <span class="hljs-built_in">set</span> <span class="hljs-variable">$qs</span> <span class="hljs-number">0</span>;

  21. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache_uri</span> <span class="hljs-variable">$document_uri</span>;

  22. }

  23. <span class="hljs-comment">#deactivate on high load</span>

  24. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$qs</span> = <span class="hljs-number">1</span>) {

  25. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache</span> <spanclass="hljs-number">0</span>;

  26. }

  27. <span class="hljs-comment"># 针对已登录用户(发表过评论),可以不静态化。在访问量高峰时可注释掉</span>

  28. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$http_cookie</span> ~* <span class="hljs-string">"comment_author_|wordpress|wp-postpass_"</span> ) {

  29. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache</span> <spanclass="hljs-number">0</span>;

  30. }

  31. <span class="hljs-comment"># 支持移动设备,访问移动版本的网页缓存</span>

  32. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$http_user_agent</span> ~*<span class="hljs-string">'(iphone|ipod|aspen|incognito|webmate|android|dream|cupcake|froyo|blackberry9500|blackberry9520|blackberry9530|blackberry9550|blackberry 9800|webos|s8000|bada)'</span>) {

  33. <span class="hljs-built_in">set</span> <span class="hljs-variable">$ihttp_host</span> <span class="hljs-string">'-mobile'</span>;

  34. }

  35. <span class="hljs-comment"># 指定静态缓存文件的路径</span>

  36. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$supercache</span> = <span class="hljs-number">0</span>) {

  37. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache_uri</span> <span class="hljs-string">''</span>;

  38. }

  39. <span class="hljs-keyword">if</span> (<span class="hljs-variable">$supercache_uri</span> ~ ^(.+)$) {

  40. <span class="hljs-built_in">set</span> <span class="hljs-variable">$supercache_file</span> /wp-content/cache/supercache/<span class="hljs-variable">$http_host</span><span class="hljs-variable">$1</span>/index<span class="hljs-variable">${ihttp_host}</span>.html;

  41. }

  42. <span class="hljs-comment"># 只有当缓存文件存在时,才进行 rewrite</span>

  43. <span class="hljs-keyword">if</span> (<span class="hljs-operator">-f</span> <span class="hljs-variable">$document_root</span><span class="hljs-variable">$supercache_file</span>) {

  44. <span class="hljs-comment">#rewrite ^(.*)$ $supercache_file break;</span>

  45. rewrite ^ <span class="hljs-variable">$supercache_file</span> last;

  46. }

  47. <span class="hljs-comment"># 所有其他请求,转给 wordpress 处理</span>

  48. <span class="hljs-keyword">if</span> (!<span class="hljs-operator">-e</span> <span class="hljs-variable">$request_filename</span>) {

  49. rewrite . /index.php last;

  50. }

下载声明:

本站资源均有第三方用户自行上传分享推荐,非本站自制,仅供玩家做交流学习之用!切勿用于商业用途!游戏作品版权归原作者享有,如有版权问题,请附带版权证明至邮件,本平台将应您的要求删除。
相关推荐:

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复