From 8285d34ab288ff10248047cacff5a1b154858bfe Mon Sep 17 00:00:00 2001 From: craftogrammer Date: Wed, 15 Oct 2025 14:42:55 +0530 Subject: [PATCH] Improve header cache handling and ETag checks --- advanced-cache.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/advanced-cache.php b/advanced-cache.php index 33f4ea1..455413c 100644 --- a/advanced-cache.php +++ b/advanced-cache.php @@ -258,8 +258,14 @@ function ob($output) { } if ( !empty( $this->cache['headers'] ) && !empty( $this->uncached_headers ) ) { - foreach ( $this->uncached_headers as $header ) - unset( $this->cache['headers'][$header] ); + foreach ( $this->uncached_headers as $h ) { + foreach ( array_keys( $this->cache['headers'] ) as $k ) { + if ( strcasecmp( $k, $h ) === 0 ) { + unset( $this->cache['headers'][ $k ] ); + break; + } + } + } } foreach ( $this->cache['headers'] as $header => $values ) { @@ -591,7 +597,7 @@ function set_query( $query_string ) { // Respect ETags served with feeds. $three04 = false; - if ( isset( $SERVER['HTTP_IF_NONE_MATCH'] ) && isset( $batcache->cache['headers']['ETag'][0] ) && $_SERVER['HTTP_IF_NONE_MATCH'] == $batcache->cache['headers']['ETag'][0] ) + if ( isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) && isset( $batcache->cache['headers']['ETag'][0] ) && $_SERVER['HTTP_IF_NONE_MATCH'] === $batcache->cache['headers']['ETag'][0] ) $three04 = true; // Respect If-Modified-Since.