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

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

学习教程tuzi2016-01-03 10:44:09A+A-

记录一下,如何在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. }

点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © 本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
关于我们|广告合作|网站地图|冀ICP备14009590号|