X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..refs/tags/wordpress-3.5.1:/wp-includes/class-wp.php diff --git a/wp-includes/class-wp.php b/wp-includes/class-wp.php index b1b1e287..c76030b3 100644 --- a/wp-includes/class-wp.php +++ b/wp-includes/class-wp.php @@ -378,12 +378,29 @@ class WP { if ( ! empty( $status ) ) status_header( $status ); + + // If Last-Modified is set to false, it should not be sent (no-cache situation). + if ( isset( $headers['Last-Modified'] ) && false === $headers['Last-Modified'] ) { + unset( $headers['Last-Modified'] ); + + // In PHP 5.3+, make sure we are not sending a Last-Modified header. + if ( function_exists( 'header_remove' ) ) { + @header_remove( 'Last-Modified' ); + } else { + // In PHP 5.2, send an empty Last-Modified header, but only as a + // last resort to override a header already sent. #WP23021 + foreach ( headers_list() as $header ) { + if ( 0 === stripos( $header, 'Last-Modified' ) ) { + $headers['Last-Modified'] = ''; + break; + } + } + } + } + foreach( (array) $headers as $name => $field_value ) @header("{$name}: {$field_value}"); - if ( isset( $headers['Last-Modified'] ) && empty( $headers['Last-Modified'] ) && function_exists( 'header_remove' ) ) - @header_remove( 'Last-Modified' ); - if ( $exit_required ) exit();