real work wp super cache nginx rewrite rules

Home Forums Share your experiences / 经验分享 real work wp super cache nginx rewrite rules

Viewing 0 reply threads
  • Author
    Posts
    • Keymaster
      #1 Sarah #289848
      # rewrite rules for wp super cache begin
      
      set $cache_uri $request_uri;
      
      # POST requests and urls with a query string should always go to PHP
      
      if ($request_method = POST) {
      
      set $cache_uri 'null cache';
      
      }
      
      if ($query_string != "") {
      
      set $cache_uri 'null cache';
      
      }
      
      # Don't cache uris containing the following segments
      
      if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php)") {
      
      set $cache_uri 'null cache';
      
      }
      
      # Don't use the cache for logged in users or recent commenters
      
      if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
      
      set $cache_uri 'null cache';
      
      }
      
      # START MOBILE
      
      set $is_mobile '';
      
      # Mobile browsers section to server them non-cached version. COMMENTED by default as most modern wordpress themes including twenty-eleven are responsive. Uncomment config lines in this section if you want to use a plugin like WP-Touch
      
      if ($http_x_wap_profile) {
      
      set $is_mobile '-mobile';
      
      }
      
      if ($http_profile) {
      
      set $is_mobile '-mobile';
      
      }
      
      if ($http_user_agent ~* (2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800)) {
      
      set $is_mobile '-mobile';
      
      }
      
      if ($http_user_agent ~* (w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-)) {
      
      set $is_mobile '-mobile';
      
      }
      
      #END MOBILE
      
       
      
      # Set the cache file
      
      set $cachefile "/wp-content/cache/supercache/$http_host/$cache_uri/index$is_mobile.html";
      
      if ($https ~* "on") {
      
      set $cachefile "/wp-content/cache/supercache/$http_host/$cache_uri/index-https$is_mobile.html";
      
      }
      
       
      
      # Add cache file debug info as heade
      
      #add_header X-Cache-File $cachefile;
      
      # rewrite rules for wp super cache end
      
       
      
      location / {
      
      gzip_static on; # Enable Nginx's gzip static module
      
      try_files $cachefile $uri $uri/ /index.php?$args;
      
      }
Viewing 0 reply threads

You must be logged in to reply to this topic.