From 01788a53b39ec26f3829f7b509f75cb6368eb469 Mon Sep 17 00:00:00 2001 From: Mitesh Shah Date: Mon, 24 Jun 2013 17:39:43 +0530 Subject: [PATCH] Nginx conf for wpsubdir w3tc --- usr/share/easyengine/nginx/wpsubdir/w3tc.conf | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 usr/share/easyengine/nginx/wpsubdir/w3tc.conf diff --git a/usr/share/easyengine/nginx/wpsubdir/w3tc.conf b/usr/share/easyengine/nginx/wpsubdir/w3tc.conf new file mode 100644 index 00000000..546c5c07 --- /dev/null +++ b/usr/share/easyengine/nginx/wpsubdir/w3tc.conf @@ -0,0 +1,64 @@ +# WPSUBDIR W3 TOTAL CACHE NGINX CONFIGURATION +server { + + # Uncomment The Following Line For Domain Mapping + # listen 80 default_server; + + server_name example.com *.example.com; + + # Uncomment The Following Line For Domain Mapping + #server_name_in_redirect off; + + access_log /var/log/nginx/example.com.access.log; + error_log /var/log/nginx/example.com.error.log; + + root /var/www/example.com/htdocs; + index index.php index.htm index.html; + + if (!-e $request_filename) { + + # Redirect wp-admin To wp-admin/ + rewrite /wp-admin$ $scheme://$host$uri/ permanent; + + # Redirect wp-* Files/Folders + rewrite ^(/[^/]+)?(/wp-.*) $2 last; + + # Redirect Other PHP Files + rewrite ^(/[^/]+)?(/.*\.php) $2 last; + } + + 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|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { + 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'; + } + + # Use Cached Or Actual File If They Exists, Otherwise Pass Request To WordPress + location / { + try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args; + } + + location ~ .php$ { + try_files $uri /index.php; + include fastcgi_params; + fastcgi_pass php; + } + + include /etc/nginx/common/locations.conf; + +}