mirror of
https://github.com/WordPress/WordPress.git
synced 2025-03-11 22:29:48 +01:00
internalize uploaded media rewrite rule, see #11742
git-svn-id: http://svn.automattic.com/wordpress/trunk@12924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
ed24c3dd40
commit
44e511516d
@ -1,6 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
define( 'SHORTINIT', true ); // this prevents most of WP from being loaded
|
if ( !defined( 'MEDIA_FILE' ) ) {
|
||||||
require_once( dirname( dirname( __FILE__) ) . '/wp-load.php' ); // absolute includes are faster
|
define( 'SHORTINIT', true ); // this prevents most of WP from being loaded
|
||||||
|
require_once( dirname( dirname( __FILE__) ) . '/wp-load.php' ); // absolute includes are faster
|
||||||
|
}
|
||||||
|
|
||||||
if ( $current_blog->archived == '1' || $current_blog->spam == '1' || $current_blog->deleted == '1' ) {
|
if ( $current_blog->archived == '1' || $current_blog->spam == '1' || $current_blog->deleted == '1' ) {
|
||||||
status_header( 404 );
|
status_header( 404 );
|
||||||
@ -64,8 +66,10 @@ function wp_check_filetype($filename, $mimes = null) {
|
|||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
|
if ( defined( 'MEDIA_FILE' ) )
|
||||||
$file = BLOGUPLOADDIR . str_replace( '..', '', $_GET[ 'file' ] );
|
$file = BLOGUPLOADDIR . str_replace( '..', '', MEDIA_FILE );
|
||||||
|
else
|
||||||
|
$file = BLOGUPLOADDIR . str_replace( '..', '', $_GET[ 'file' ] );
|
||||||
if ( !is_file( $file ) ) {
|
if ( !is_file( $file ) ) {
|
||||||
status_header( 404 );
|
status_header( 404 );
|
||||||
die('404 — File not found.');
|
die('404 — File not found.');
|
||||||
|
@ -82,6 +82,17 @@ require( ABSPATH . WPINC . '/plugin.php' );
|
|||||||
require( ABSPATH . WPINC . '/default-filters.php' );
|
require( ABSPATH . WPINC . '/default-filters.php' );
|
||||||
include_once( ABSPATH . WPINC . '/pomo/mo.php' );
|
include_once( ABSPATH . WPINC . '/pomo/mo.php' );
|
||||||
|
|
||||||
|
// internalize virtual content rewrite rule
|
||||||
|
if ( is_multisite() && !defined( 'SHORTINIT' ) ) {
|
||||||
|
$media_base = $path . 'files/';
|
||||||
|
$base_len = strlen( $media_base );
|
||||||
|
if ( substr( $_SERVER[ 'REQUEST_URI' ], 0, $media_len ) == $media_base && $media_len < strlen( $_SERVER[ 'REQUEST_URI' ] ) ) {
|
||||||
|
define( 'MEDIA_FILE', substr( $_SERVER[ 'REQUEST_URI' ], $media_len ) );
|
||||||
|
require_once( WP_CONTENT_DIR . '/blogs.php' );
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
unset( $media_base, $media_len );
|
||||||
|
}
|
||||||
// Stop most of WordPress from being loaded if we just want the basics.
|
// Stop most of WordPress from being loaded if we just want the basics.
|
||||||
if ( SHORTINIT )
|
if ( SHORTINIT )
|
||||||
return false;
|
return false;
|
||||||
@ -272,4 +283,4 @@ $wp->init();
|
|||||||
// Everything is loaded and initialized.
|
// Everything is loaded and initialized.
|
||||||
do_action( 'init' );
|
do_action( 'init' );
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user