WordPress.org

Make WordPress Core

Ticket #23021: 23021.3.diff

File 23021.3.diff, 1.1 KB (added by nacin, 16 months ago)
  • wp-includes/functions.php

     
    924924 */ 
    925925function nocache_headers() { 
    926926        $headers = wp_get_nocache_headers(); 
     927 
     928        if ( empty( $headers['Last-Modified'] ) ) { 
     929                // In PHP 5.3+, make sure we are not sending a Last-Modified header. 
     930                if ( function_exists( 'header_remove' ) ) { 
     931                        @header_remove( 'Last-Modified' ); 
     932                        unset( $headers['Last-Modified'] ); 
     933                } else { 
     934                        // In PHP 5.2, send an empty Last-Modified header, but only as a 
     935                        // last resort to override a header already sent. #WP23021 
     936                        $override = false; 
     937                        foreach ( headers_list() as $header ) { 
     938                                if ( 0 === stripos( $header, 'Last-Modified' ) ) { 
     939                                        $override = true; 
     940                                        break; 
     941                                } 
     942                        } 
     943                        if ( ! $override ) 
     944                                unset( $headers['Last-Modified'] ); 
     945                } 
     946        } 
     947 
    927948        foreach( $headers as $name => $field_value ) 
    928949                @header("{$name}: {$field_value}"); 
    929         if ( empty( $headers['Last-Modified'] ) && function_exists( 'header_remove' ) ) 
    930                 @header_remove( 'Last-Modified' ); 
    931950} 
    932951 
    933952/**