# WPSUBDOMAIN 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 rt_cache;
	error_log    /var/log/nginx/example.com.error.log;

	root /var/www/example.com/htdocs;
	index index.php index.htm index.html;

	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-.*.php|index.php|/feed/|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 ~ ^/wp-content/cache/minify/(.+\.(css|js))$ {
		try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1;
	}

	location ~ \.php$ {
		try_files $uri =404;
		include fastcgi_params;
		fastcgi_pass php;
	}

	include common/wpcommon.conf;
	include common/locations.conf;

}