<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: &#8220;WP Fastest Cache&#8221; Configuration for Nginx	</title>
	<atom:link href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/feed/" rel="self" type="application/rss+xml" />
	<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/</link>
	<description>All About Technology</description>
	<lastBuildDate>Mon, 15 Jan 2024 12:56:11 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.9</generator>
	<item>
		<title>
		By: Gwyneth Llewelyn		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-266203</link>

		<dc:creator><![CDATA[Gwyneth Llewelyn]]></dc:creator>
		<pubDate>Mon, 15 Jan 2024 12:56:11 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-266203</guid>

					<description><![CDATA[I wonder... isn&#039;t this article &lt;em&gt;a bit&lt;/em&gt; outdated?

Here is why: WP Fastest Cache already does almost all work for you, out of the box. Beyond any WordPress-specific things, all you need to do is check if an URL has been stored in the cache or not. You don&#039;t need Nginx to figure out first if a user is logged in etc. etc. since WP Fastest Cache already deals with all of that — you might get everything you&#039;ve typed with just 
&lt;code&gt;
location / {
    try_files /wp-content/cache/all/${uri}/index.html $uri $uri/ /index.php$is_args$args;
}
&lt;/code&gt;
That&#039;s all it takes. The rest is up to WP Fastest Cache to figure out, and it does a remarkably good job at that.


Granted, if you really want to, you can add a bit more code to properly set header files. That would require adding another &lt;b&gt;location&lt;/b&gt; section, specifically just to find if something is already cached, and, if so, do the appropriate reply with an additional header showing that; if not, it falls back to the usual WP &lt;b&gt;try_files&lt;/b&gt;.

For multisite installations, you&#039;d use a variant:
&lt;code&gt;
location / {
    try_files /wp-content/cache/$host/all/$uri/index.html $uri $uri/ /index.php$is_args$args;
}
&lt;/code&gt;

And as Anastasia already explained, WP Fastest Cache can also deal with different languages as well with yet another twist.

Things just become slightly more complicated if you have enabled separate caches for mobile and non-mobile versions of your website. In such a scenario, you&#039;ll need to split things among both — because WP Fastest Cache will keep two separate directory structures for that.

However, these days, the burden of figuring out what to render for a mobile device has been mostly addresses at the HTML side of things; mobile devices basically just pull whatever HTML is there and formats it accordingly. The option for having two separate structures made sense around 2007, when the iPhone was launched, and most websites were not designed for such a small form factor, so website owners would just use a very basic template for mobile, and switch to it according to the device being used. But nobody bothers to do so any more in the 2020s — it&#039;s so much easier to build your HTML/CSS around flex or similar technologies to make it fully responsible. As such, I would simply forget about mobile, and just worry about the rest.

Granted, if you&#039;re lazy and want a one-size-fits all solution, nothing prevents you from doing a &lt;code&gt;try_files&lt;/code&gt; on all possible combinations, even if you know beforehand that some don&#039;t exist. The way the Nginx engine works, anything done with &lt;code&gt;try_files&lt;/code&gt; is &lt;em&gt;way&lt;/em&gt; faster to evaluate than doing complex queries to figure out how exactly you should construct your URL/path. Instead, Nginx is super-accelerated to execute 
 &lt;code&gt;try_files&lt;/code&gt; blindingly fast — so long as it gets some help from the other end, i.e. the caching plugin. And that&#039;s one of the reasons why WP Fastest Cache is so useful: it&#039;s got a very regular and logic way of organising the cache on disk, so that web servers can &lt;em&gt;very easily&lt;/em&gt; check if a file is on cache or not.

Hint: if you want things even faster, put Cloudflare in front of your website. It&#039;s free, and WP Fastest Cache will &lt;em&gt;very easily&lt;/em&gt; integrate with it. With a bit of magic, you can essentially push a substantial part of your website (HTML, CSS, JS, images, fonts, and other media) to Cloudflare — &lt;em&gt;and&lt;/em&gt; force people&#039;s browsers to cache as much as possible on &lt;em&gt;their&lt;/em&gt; end — and essentially let Nginx take a break (not that it &lt;em&gt;needs&lt;/em&gt; to). Watch carefully as your server&#039;s CPU usage drops to zero and how MySQL suddenly has little to do, while getting insanely fast performance (well, if you pick a modern WP theme that was designed from scratch for performance...) and unbelievably low overall latency. The results are simply fantastic.

To be honest, while I&#039;ve been using WP Fastest Cache for an eternity now (with Cloudflare), I&#039;ve only noticed all of the above relatively recently. The more I simplified the Nginx configuration to pt as much as possible inside &lt;code&gt;try_files&lt;/code&gt; and as few conditions outside it as I could master (these days, they are hardly more than listing what is static content and flagging it as such; all the rest is up to &lt;code&gt;try_files&lt;/code&gt;), the faster were the results, to a certain degree of bafflement. Like you, I started from a reasonably complex set of rules to figure out which cases needed to be retrieved from the cache, and how to properly construct URLs or pathnames for each scenario. At the end of the day, however, I figured out that most of that is absolutely unnecessary. All these tools work seamlessly together, and there is no need for giving all those &quot;hints&quot; to any of them — that&#039;s just overoptimisation (which might have been important a decade ago) which will consume CPU to replicate what the many components &lt;em&gt;already&lt;/em&gt; do on their own without further configuration...]]></description>
			<content:encoded><![CDATA[<p>I wonder&#8230; isn&#8217;t this article <em>a bit</em> outdated?</p>
<p>Here is why: WP Fastest Cache already does almost all work for you, out of the box. Beyond any WordPress-specific things, all you need to do is check if an URL has been stored in the cache or not. You don&#8217;t need Nginx to figure out first if a user is logged in etc. etc. since WP Fastest Cache already deals with all of that — you might get everything you&#8217;ve typed with just<br />
<code><br />
location / {<br />
    try_files /wp-content/cache/all/${uri}/index.html $uri $uri/ /index.php$is_args$args;<br />
}<br />
</code><br />
That&#8217;s all it takes. The rest is up to WP Fastest Cache to figure out, and it does a remarkably good job at that.</p>
<p>Granted, if you really want to, you can add a bit more code to properly set header files. That would require adding another <b>location</b> section, specifically just to find if something is already cached, and, if so, do the appropriate reply with an additional header showing that; if not, it falls back to the usual WP <b>try_files</b>.</p>
<p>For multisite installations, you&#8217;d use a variant:<br />
<code><br />
location / {<br />
    try_files /wp-content/cache/$host/all/$uri/index.html $uri $uri/ /index.php$is_args$args;<br />
}<br />
</code></p>
<p>And as Anastasia already explained, WP Fastest Cache can also deal with different languages as well with yet another twist.</p>
<p>Things just become slightly more complicated if you have enabled separate caches for mobile and non-mobile versions of your website. In such a scenario, you&#8217;ll need to split things among both — because WP Fastest Cache will keep two separate directory structures for that.</p>
<p>However, these days, the burden of figuring out what to render for a mobile device has been mostly addresses at the HTML side of things; mobile devices basically just pull whatever HTML is there and formats it accordingly. The option for having two separate structures made sense around 2007, when the iPhone was launched, and most websites were not designed for such a small form factor, so website owners would just use a very basic template for mobile, and switch to it according to the device being used. But nobody bothers to do so any more in the 2020s — it&#8217;s so much easier to build your HTML/CSS around flex or similar technologies to make it fully responsible. As such, I would simply forget about mobile, and just worry about the rest.</p>
<p>Granted, if you&#8217;re lazy and want a one-size-fits all solution, nothing prevents you from doing a <code>try_files</code> on all possible combinations, even if you know beforehand that some don&#8217;t exist. The way the Nginx engine works, anything done with <code>try_files</code> is <em>way</em> faster to evaluate than doing complex queries to figure out how exactly you should construct your URL/path. Instead, Nginx is super-accelerated to execute<br />
 <code>try_files</code> blindingly fast — so long as it gets some help from the other end, i.e. the caching plugin. And that&#8217;s one of the reasons why WP Fastest Cache is so useful: it&#8217;s got a very regular and logic way of organising the cache on disk, so that web servers can <em>very easily</em> check if a file is on cache or not.</p>
<p>Hint: if you want things even faster, put Cloudflare in front of your website. It&#8217;s free, and WP Fastest Cache will <em>very easily</em> integrate with it. With a bit of magic, you can essentially push a substantial part of your website (HTML, CSS, JS, images, fonts, and other media) to Cloudflare — <em>and</em> force people&#8217;s browsers to cache as much as possible on <em>their</em> end — and essentially let Nginx take a break (not that it <em>needs</em> to). Watch carefully as your server&#8217;s CPU usage drops to zero and how MySQL suddenly has little to do, while getting insanely fast performance (well, if you pick a modern WP theme that was designed from scratch for performance&#8230;) and unbelievably low overall latency. The results are simply fantastic.</p>
<p>To be honest, while I&#8217;ve been using WP Fastest Cache for an eternity now (with Cloudflare), I&#8217;ve only noticed all of the above relatively recently. The more I simplified the Nginx configuration to pt as much as possible inside <code>try_files</code> and as few conditions outside it as I could master (these days, they are hardly more than listing what is static content and flagging it as such; all the rest is up to <code>try_files</code>), the faster were the results, to a certain degree of bafflement. Like you, I started from a reasonably complex set of rules to figure out which cases needed to be retrieved from the cache, and how to properly construct URLs or pathnames for each scenario. At the end of the day, however, I figured out that most of that is absolutely unnecessary. All these tools work seamlessly together, and there is no need for giving all those &#8220;hints&#8221; to any of them — that&#8217;s just overoptimisation (which might have been important a decade ago) which will consume CPU to replicate what the many components <em>already</em> do on their own without further configuration&#8230;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Stephen		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-228853</link>

		<dc:creator><![CDATA[Stephen]]></dc:creator>
		<pubDate>Mon, 03 Oct 2022 12:19:14 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-228853</guid>

					<description><![CDATA[Thanks so much for this article! Since PHP is not involved and nginx is now just serving a static  WFC cached asset, my load times have drastically decreased. In Chrome&#039;s Inspector, the time waiting for first byte went from ~330ms to ~40ms!]]></description>
			<content:encoded><![CDATA[<p>Thanks so much for this article! Since PHP is not involved and nginx is now just serving a static  WFC cached asset, my load times have drastically decreased. In Chrome&#8217;s Inspector, the time waiting for first byte went from ~330ms to ~40ms!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Don Dilanga		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-149676</link>

		<dc:creator><![CDATA[Don Dilanga]]></dc:creator>
		<pubDate>Wed, 21 Jul 2021 17:45:27 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-149676</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-149672&quot;&gt;Mihai&lt;/a&gt;.

Yes.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-149672">Mihai</a>.</p>
<p>Yes.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Mihai		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-149672</link>

		<dc:creator><![CDATA[Mihai]]></dc:creator>
		<pubDate>Wed, 21 Jul 2021 17:23:32 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-149672</guid>

					<description><![CDATA[Good evening, is this setting still valid for nginx?]]></description>
			<content:encoded><![CDATA[<p>Good evening, is this setting still valid for nginx?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: pawan		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-9468</link>

		<dc:creator><![CDATA[pawan]]></dc:creator>
		<pubDate>Mon, 07 Jan 2019 00:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-9468</guid>

					<description><![CDATA[thanks. quite useful]]></description>
			<content:encoded><![CDATA[<p>thanks. quite useful</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Badde Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2291</link>

		<dc:creator><![CDATA[Badde Liyanage]]></dc:creator>
		<pubDate>Thu, 12 Jul 2018 11:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-2291</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276&quot;&gt;Anastasia SE7EN.ws&lt;/a&gt;.

I made a small video tutorial. check this out
&lt;video width=&#039;640&#039; height=&#039;480&#039; controls&gt;
&lt;source src=&quot;https://nucuta.com/wp-content/uploads/2018/07/2018-07-12_17-02-44.mp4&quot; type=&#039;video/mp4&#039;&gt;&lt;/source&gt;
&lt;/video&gt;]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276">Anastasia SE7EN.ws</a>.</p>
<p>I made a small video tutorial. check this out<br />
<video width='640' height='480' controls><source src="https://nucuta.com/wp-content/uploads/2018/07/2018-07-12_17-02-44.mp4" type='video/mp4'/></video></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Badde Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2290</link>

		<dc:creator><![CDATA[Badde Liyanage]]></dc:creator>
		<pubDate>Thu, 12 Jul 2018 09:39:16 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-2290</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276&quot;&gt;Anastasia SE7EN.ws&lt;/a&gt;.

I read your question. In this guide, it doesn&#039;t cache if the URL contains a query string. That&#039;s what it shows here. If the URL contains a $query_string, which is an embedded variable, then it sets the condition to null, and thereby the fullURL contains null string; hence the PHP content are served since wordpress is unable to find null folder. So I suggest you to remove it.  Let me know how it goes. I don&#039;t think this is valid in nginx. &quot;location ~ /?lang=.* &quot;. I suggest to use $query_string variable provided by nginx for matching query strings.  nginx also has $arg_name variable, where name is the parameter. You can use it in between location to match en and ru so easily. like $arg_lang, or you can use map too, which is very simple, but use it outside of the server block. 


&lt;code&gt;
#Use this outside of Server block
map $query_string $lang{
  ~lang=en en/
  ~lang=ru ru/
}

#remove this, as you use query string with cache on
if ($query_string)
    {
      set $condition &quot;null&quot;;
    }
&lt;/code&gt;

In your case the code can be corrected as this.

&lt;code&gt;

set $condition &#039;&#039;;
    if ($request_method = POST)
    {
      set $condition &quot;null&quot;;
    }

    if ($http_cookie ~* (comment_author&#124;comment_author_&#124;wordpress_logged_in&#124;wp_woocommerce_session))
    {
      set $condition &quot;null&quot;;
    }
    set $fullurl &#039;/wp-content/cache/all${condition}&#039;;
  #CACHE ENDING
  
  
  location / {
    set $serve_URL $fullurl${uri}${lang}index.html;
    try_files $serve_URL $uri $uri/ /index.php$is_args$args;
    
  }

&lt;/code&gt;

I didn&#039;t test this, so let me know the result. This works like this. first condition variable is created and assigned nothing, then it checks the request method, if it&#039;s post then condition is null, or it&#039;s &#039;&#039;. likewise it checks the http cookie, if request has any of mentioned cookie then condition is null, otherwise &#039;&#039;.  It creates a new variable fullURL, and is assigned /wp-content/cache/all${condition}. If the condition is null, then it&#039;s /wp-content/cache/allnull, otherwise /wp-content/cache/all, which is the correct one to make cache works. So now cache only works if POST request isn&#039;t used, and mentioned cookies are not used. When the URL matches /, meaning anything like yourwebsite.com/, then it creates a variable serve_URL and is assigned, $fullurl${uri}${lang}index.html. it has three variables, FULLURL, which you used, URI meaning the requested URL, and lang url, which calls map module to checks. Map module evaluates the value in query_string, if it&#039;s lang=en, then lang variable is assigned en, if it&#039;s lang=en, then lang variable is assigned ru. If no query string presents, then lang is an empty string. you can use default too, but it&#039;s not needed. ~ is used in front to imply it&#039;s a case sensitive check. 
https://stackoverflow.com/a/45129826/7409460


Assuming the condition variable is &#039;&#039;. if query string is lang=en, then lang is en, if uri is /, then serve URL is
ignore +, I used it so it&#039;s clear. 

&lt;code&gt;
$fullurl${uri}${lang}index.html
/wp-content/cache/all + / +  en/ + index.html
/wp-content/cache/all/en/index.html

&lt;/code&gt;

Assuming the condition variable is &#039;&#039;. if query string is lang=en, then lang is en, if uri is /wp-fastest-cache-configuration-for-nginx/, then serve URL is
ignore +, I used it so it&#039;s clear. 

&lt;code&gt;
$fullurl${uri}${lang}index.html
/wp-content/cache/all + /wp-fastest-cache-configuration-for-nginx/ +  en/ + index.html
/wp-content/cache/all/wp-fastest-cache-configuration-for-nginx/en/index.html

&lt;/code&gt;

You can change the position of lang variable too, like if en comes before URI, but pay attention to forward slash always. 


&lt;code&gt;
$fullurl${lang}${uri}index.html
&lt;/code&gt;


so if it comes first use in map
  ~lang=en /en
instead of
  ~lang=en en/

&lt;code&gt;
$fullurl${lang}${uri}index.html
/wp-content/cache/all + /en + / + index.html
/wp-content/cache/all + /en + /wp-fastest-cache-configuration-for-nginx/ + index.html
&lt;/code&gt;]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276">Anastasia SE7EN.ws</a>.</p>
<p>I read your question. In this guide, it doesn&#8217;t cache if the URL contains a query string. That&#8217;s what it shows here. If the URL contains a $query_string, which is an embedded variable, then it sets the condition to null, and thereby the fullURL contains null string; hence the PHP content are served since wordpress is unable to find null folder. So I suggest you to remove it.  Let me know how it goes. I don&#8217;t think this is valid in nginx. &#8220;location ~ /?lang=.* &#8220;. I suggest to use $query_string variable provided by nginx for matching query strings.  nginx also has $arg_name variable, where name is the parameter. You can use it in between location to match en and ru so easily. like $arg_lang, or you can use map too, which is very simple, but use it outside of the server block. </p>
<p><code><br />
#Use this outside of Server block<br />
map $query_string $lang{<br />
  ~lang=en en/<br />
  ~lang=ru ru/<br />
}</p>
<p>#remove this, as you use query string with cache on<br />
if ($query_string)<br />
    {<br />
      set $condition "null";<br />
    }<br />
</code></p>
<p>In your case the code can be corrected as this.</p>
<p><code></p>
<p>set $condition '';<br />
    if ($request_method = POST)<br />
    {<br />
      set $condition "null";<br />
    }</p>
<p>    if ($http_cookie ~* (comment_author|comment_author_|wordpress_logged_in|wp_woocommerce_session))<br />
    {<br />
      set $condition "null";<br />
    }<br />
    set $fullurl '/wp-content/cache/all${condition}';<br />
  #CACHE ENDING</p>
<p>  location / {<br />
    set $serve_URL $fullurl${uri}${lang}index.html;<br />
    try_files $serve_URL $uri $uri/ /index.php$is_args$args;</p>
<p>  }</p>
<p></code></p>
<p>I didn&#8217;t test this, so let me know the result. This works like this. first condition variable is created and assigned nothing, then it checks the request method, if it&#8217;s post then condition is null, or it&#8217;s &#8221;. likewise it checks the http cookie, if request has any of mentioned cookie then condition is null, otherwise &#8221;.  It creates a new variable fullURL, and is assigned /wp-content/cache/all${condition}. If the condition is null, then it&#8217;s /wp-content/cache/allnull, otherwise /wp-content/cache/all, which is the correct one to make cache works. So now cache only works if POST request isn&#8217;t used, and mentioned cookies are not used. When the URL matches /, meaning anything like yourwebsite.com/, then it creates a variable serve_URL and is assigned, $fullurl${uri}${lang}index.html. it has three variables, FULLURL, which you used, URI meaning the requested URL, and lang url, which calls map module to checks. Map module evaluates the value in query_string, if it&#8217;s lang=en, then lang variable is assigned en, if it&#8217;s lang=en, then lang variable is assigned ru. If no query string presents, then lang is an empty string. you can use default too, but it&#8217;s not needed. ~ is used in front to imply it&#8217;s a case sensitive check.<br />
<a href="https://stackoverflow.com/a/45129826/7409460" rel="nofollow ugc">https://stackoverflow.com/a/45129826/7409460</a></p>
<p>Assuming the condition variable is &#8221;. if query string is lang=en, then lang is en, if uri is /, then serve URL is<br />
ignore +, I used it so it&#8217;s clear. </p>
<p><code><br />
$fullurl${uri}${lang}index.html<br />
/wp-content/cache/all + / +  en/ + index.html<br />
/wp-content/cache/all/en/index.html</p>
<p></code></p>
<p>Assuming the condition variable is &#8221;. if query string is lang=en, then lang is en, if uri is /wp-fastest-cache-configuration-for-nginx/, then serve URL is<br />
ignore +, I used it so it&#8217;s clear. </p>
<p><code><br />
$fullurl${uri}${lang}index.html<br />
/wp-content/cache/all + /wp-fastest-cache-configuration-for-nginx/ +  en/ + index.html<br />
/wp-content/cache/all/wp-fastest-cache-configuration-for-nginx/en/index.html</p>
<p></code></p>
<p>You can change the position of lang variable too, like if en comes before URI, but pay attention to forward slash always. </p>
<p><code><br />
$fullurl${lang}${uri}index.html<br />
</code></p>
<p>so if it comes first use in map<br />
  ~lang=en /en<br />
instead of<br />
  ~lang=en en/</p>
<p><code><br />
$fullurl${lang}${uri}index.html<br />
/wp-content/cache/all + /en + / + index.html<br />
/wp-content/cache/all + /en + /wp-fastest-cache-configuration-for-nginx/ + index.html<br />
</code></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Badde Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2287</link>

		<dc:creator><![CDATA[Badde Liyanage]]></dc:creator>
		<pubDate>Thu, 12 Jul 2018 08:01:21 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-2287</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276&quot;&gt;Anastasia SE7EN.ws&lt;/a&gt;.

I will look into it.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276">Anastasia SE7EN.ws</a>.</p>
<p>I will look into it.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anastasia SE7EN.ws		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-2276</link>

		<dc:creator><![CDATA[Anastasia SE7EN.ws]]></dc:creator>
		<pubDate>Wed, 11 Jul 2018 08:40:22 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-2276</guid>

					<description><![CDATA[Please help me with the caching problem. 
I&#039;ve already wrote to your support e-mail all the details. 
I will really appreciate if you can help me.

Hello Dear Sir or Madam.

I have a problem with caching of URL QueryString format /post-name/?lang=en
I was trying to fix it using your article: https://nucuta.com/wp-fastest-cache-configuration-for-nginx/
Our site has two languages: Russian (main) and English.
Using plugins: WPML Multilingual CMS v4.0.3 and WP Fastest Cache v0.8.8.2
In file wp-config.php I added define(‘WPFC_CACHE_QUERYSTRING’, true);
Plugin wp-fastest-cache creates folders for each language
/wp-content/cache/all/ru
/wp-content/cache/all/en

I changed settings in Nginx conf:
set $fullurl ‘/wp-content/cache/all/ru${condition}’;
set $fullurlen ‘/wp-content/cache/all/en${condition}’;

And added section:
location ~ /?lang=.* {
set $serve_URL $fullurlen${uri}index.html;
try_files $serve_URL $uri $uri/ /index.php$is_args$args;
}

Russion version is working right but English one is caching only via php as I saw in tag
Also in catalogue /wp-content/cache/all/en there are cache pages.

Please tell me how to fix this. I really appreciate.
Or probably you will want to write a decision in your article which I think will be so usefull for other people.

Thank you so much.
Have a good day.]]></description>
			<content:encoded><![CDATA[<p>Please help me with the caching problem.<br />
I&#8217;ve already wrote to your support e-mail all the details.<br />
I will really appreciate if you can help me.</p>
<p>Hello Dear Sir or Madam.</p>
<p>I have a problem with caching of URL QueryString format /post-name/?lang=en<br />
I was trying to fix it using your article: <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/" rel="nofollow ugc">https://nucuta.com/wp-fastest-cache-configuration-for-nginx/</a><br />
Our site has two languages: Russian (main) and English.<br />
Using plugins: WPML Multilingual CMS v4.0.3 and WP Fastest Cache v0.8.8.2<br />
In file wp-config.php I added define(‘WPFC_CACHE_QUERYSTRING’, true);<br />
Plugin wp-fastest-cache creates folders for each language<br />
/wp-content/cache/all/ru<br />
/wp-content/cache/all/en</p>
<p>I changed settings in Nginx conf:<br />
set $fullurl ‘/wp-content/cache/all/ru${condition}’;<br />
set $fullurlen ‘/wp-content/cache/all/en${condition}’;</p>
<p>And added section:<br />
location ~ /?lang=.* {<br />
set $serve_URL $fullurlen${uri}index.html;<br />
try_files $serve_URL $uri $uri/ /index.php$is_args$args;<br />
}</p>
<p>Russion version is working right but English one is caching only via php as I saw in tag<br />
Also in catalogue /wp-content/cache/all/en there are cache pages.</p>
<p>Please tell me how to fix this. I really appreciate.<br />
Or probably you will want to write a decision in your article which I think will be so usefull for other people.</p>
<p>Thank you so much.<br />
Have a good day.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-355</link>

		<dc:creator><![CDATA[Liyanage]]></dc:creator>
		<pubDate>Mon, 20 Nov 2017 18:41:28 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-355</guid>

					<description><![CDATA[php block was removed to make the code compatible with other php versions as well.]]></description>
			<content:encoded><![CDATA[<p>php block was removed to make the code compatible with other php versions as well.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-354</link>

		<dc:creator><![CDATA[Liyanage]]></dc:creator>
		<pubDate>Mon, 20 Nov 2017 18:30:34 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-354</guid>

					<description><![CDATA[gzip_static directory was removed as it&#039;s not useful unless there are pre-compressed files of files in the same directory.  Now the code is optimized to compress files on the fly.  So make sure to add gzip directory as explained in the tutorial.]]></description>
			<content:encoded><![CDATA[<p>gzip_static directory was removed as it&#8217;s not useful unless there are pre-compressed files of files in the same directory.  Now the code is optimized to compress files on the fly.  So make sure to add gzip directory as explained in the tutorial.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Liyanage		</title>
		<link>https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-353</link>

		<dc:creator><![CDATA[Liyanage]]></dc:creator>
		<pubDate>Mon, 20 Nov 2017 17:53:51 +0000</pubDate>
		<guid isPermaLink="false">http://nucuta.com/?p=1589#comment-353</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-350&quot;&gt;Mark&lt;/a&gt;.

Thanks for your feedback. I updated the post, please check at end of the post. :)
]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://nucuta.com/wp-fastest-cache-configuration-for-nginx/#comment-350">Mark</a>.</p>
<p>Thanks for your feedback. I updated the post, please check at end of the post. 🙂</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
