Я запускаю веб-сайт WordPress с Nginx.
Однако из-за проблем совместимости с некоторыми плагинами функция входа не работает только на домашней странице, когда активирован fastcgi.
Поэтому я хочу отключить кеш fastcgi только на главной странице.
Я уже установил skip_cache, как показано ниже,
установить $skip_cache 0;
если ($ request_method = POST) {
установить $skip_cache 1;
установить $skip_reason "POST";
}
если ($query_string != "") {
установить $skip_cache 1;
установить $skip_reason "QUERY_STRING";
}
если ( $cookie_woocommerce_items_in_cart = "1" ){
установить $skip_cache 1;
установить $skip_reason WP_WooCommerce;
}
если ( $cookie_woocommerce_cart_hash = "1" ){
установить $skip_cache 1;
установить $skip_reason WP_WooCommerce;
}
если ($cookie_wp_woocommerce_session_[a-z0-9] = "1" ){
установить $skip_cache 1;
установить $skip_reason WP_WooCommerce;
}
если ($cookie_wp_automatewoo_visitor_[a-z0-9] = "1" ){
установить $skip_cache 1;
установить автоматизацию $skip_reason;
}
если ( $cookie_wp_automatewoo_session_started = "1" ){
установить $skip_cache 1;
установить автоматизацию $skip_reason;
}
# Правила пропуска кеша для WooCommerce
if ($request_uri ~* "/store.*|/cart.*|/my-account.*|/checkout.*|/addons.*") {
установить $skip_cache 1;
установить $skip_reason WP_WooCommerce;
}
если ( $arg_add-to-cart != "" ) {
установить $skip_cache 1;
установить $skip_reason добавить в корзину;
}
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wp_automatewoo_session_started|wp_automatewoo_visitor_[a-z0-9]|arlsf_c|wp_automatewoo_[a-z0-9]|yith_wcwl_products|wordpress_no_cache|wordpress_logged_in |woocommerce_items_in_cart|woocommerce_cart_hash|tinv_wishlistkey") {
установить $skip_cache 1;
установить куки $skip_reason;
}
if ($request_uri ~* "(/thskan/|/my-account/|pum-[a-z0-9]|pum_[a-z0-9]|/checkout/|/cart/|/wp-admin/ |/xmlrpc.php|/wp-(app|cron|логин|регистрация|почта).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links- opml.php|wp-locations.php|карта сайта(_index)?.xml|[a-z0-9_-]+-карта сайта([0-9]+)?.xml)") {
установить $skip_cache 1;
установить $skip_reason uri;
}
расположение ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
если (!-f $document_root$fastcgi_script_name) {
вернуть 404;
}
fastcgi_read_timeout 300;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_buffers 64 16k; # по умолчанию 8 4k
#ì´ ìëë fastcgi ì¶ê°ë¡ ì ë ¥íê².
fastcgi_buffer_size 32 КБ;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache seoartgallery.com;
fastcgi_cache_valid 200 301 302 60 м;
fastcgi_cache_min_uses 1;
fastcgi_cache_lock включен;
add_header X-FastCGI-Cache $upstream_cache_status;
add_header WP-Bullet-Skip $skip_reason;
fastcgi_cache_valid 404 1 м;
fastcgi_cache_valid 500 502 504 5 м;
включить fastcgi_params;
}
но мне интересно, как пропустить кеш только на главной странице.