mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-16 11:35:48 +00:00
Try not to send Last-Modified, even with an empty value. Some servers interpret an empty value as the epoch.
Props nacin, slene, SergeyBiryukov, andy see #23021 for trunk git-svn-id: http://core.svn.wordpress.org/trunk@23267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
f454df9cdd
commit
57f65d2906
@ -378,12 +378,29 @@ class WP {
|
|||||||
|
|
||||||
if ( ! empty( $status ) )
|
if ( ! empty( $status ) )
|
||||||
status_header( $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 )
|
foreach( (array) $headers as $name => $field_value )
|
||||||
@header("{$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 )
|
if ( $exit_required )
|
||||||
exit();
|
exit();
|
||||||
|
|
||||||
|
@ -902,7 +902,6 @@ function status_header( $header ) {
|
|||||||
function wp_get_nocache_headers() {
|
function wp_get_nocache_headers() {
|
||||||
$headers = array(
|
$headers = array(
|
||||||
'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT',
|
'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT',
|
||||||
'Last-Modified' => '',
|
|
||||||
'Cache-Control' => 'no-cache, must-revalidate, max-age=0',
|
'Cache-Control' => 'no-cache, must-revalidate, max-age=0',
|
||||||
'Pragma' => 'no-cache',
|
'Pragma' => 'no-cache',
|
||||||
);
|
);
|
||||||
@ -910,6 +909,7 @@ function wp_get_nocache_headers() {
|
|||||||
if ( function_exists('apply_filters') ) {
|
if ( function_exists('apply_filters') ) {
|
||||||
$headers = (array) apply_filters('nocache_headers', $headers);
|
$headers = (array) apply_filters('nocache_headers', $headers);
|
||||||
}
|
}
|
||||||
|
$headers['Last-Modified'] = false;
|
||||||
return $headers;
|
return $headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -924,10 +924,25 @@ function wp_get_nocache_headers() {
|
|||||||
*/
|
*/
|
||||||
function nocache_headers() {
|
function nocache_headers() {
|
||||||
$headers = wp_get_nocache_headers();
|
$headers = wp_get_nocache_headers();
|
||||||
|
|
||||||
|
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( $headers as $name => $field_value )
|
foreach( $headers as $name => $field_value )
|
||||||
@header("{$name}: {$field_value}");
|
@header("{$name}: {$field_value}");
|
||||||
if ( empty( $headers['Last-Modified'] ) && function_exists( 'header_remove' ) )
|
|
||||||
@header_remove( 'Last-Modified' );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user