Skip to content

Instantly share code, notes, and snippets.

@rahul286
Last active August 30, 2020 20:40
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save rahul286/dc64ae84c97868b862c4 to your computer and use it in GitHub Desktop.
Save rahul286/dc64ae84c97868b862c4 to your computer and use it in GitHub Desktop.
woo-commerce fastcgi-cache session-conflict solution (attempt)
@rahul286
Copy link
Author

@pablopaul both serves different purpose. woocommerce_items_in_cart is used to decide weather to skip cache or not.

Once a visitor adds something to cart and you decide to skip cache for them, you basically create a different cached version of site for them in lines using wp_woocommerce_session_

        set $rt_session "";

        if ($http_cookie ~* "wp_woocommerce_session_[^=]*=([^%]+)%7C") {
                    set $rt_session wp_woocommerce_session_$1;
            }   

        if ($skip_cache = 0 ) {
            more_clear_headers "Set-Cookie*";
            set $rt_session "";
        }

            fastcgi_cache_key "$scheme$request_method$host$request_uri$rt_session";

This avoid session/cart collision.

@ecouto
Copy link

ecouto commented Apr 1, 2016

sorry, but where I have to put woo-nginx.conf ? /etc/nginx/ ???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment