WordPress.org

Make WordPress Core

Ticket #23021: 23021.3.diff

File 23021.3.diff, 1.1 KB (added by nacin, 7 years 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/**