diff --git a/wp-load.php b/wp-load.php
index 983558abd1..ef71aec3da 100644
--- a/wp-load.php
+++ b/wp-load.php
@@ -37,12 +37,6 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
// A config file doesn't exist
- // Set a path for the link to the installer
- if ( strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false )
- $path = 'setup-config.php';
- else
- $path = 'wp-admin/setup-config.php';
-
define( 'WPINC', 'wp-includes' );
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
require_once( ABSPATH . WPINC . '/load.php' );
@@ -51,8 +45,21 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
wp_check_php_mysql_versions();
wp_load_translations_early();
+ // Standardize $_SERVER variables across setups.
+ wp_fix_server_vars();
+
require_once( ABSPATH . WPINC . '/functions.php' );
+ // Set a path for the link to the installer
+ if ( strpos( $_SERVER['PHP_SELF'], 'wp-admin' ) !== false ) {
+ $path = 'setup-config.php';
+ } elseif ( file_exists( dirname( $_SERVER['SCRIPT_FILENAME'] ) . '/wp-admin/setup-config.php' ) ) {
+ $path = 'wp-admin/setup-config.php';
+ } else {
+ // WordPress files are in a sub directory, and the user is hitting the index.php in the parent directory
+ $path = str_replace( dirname( $_SERVER['SCRIPT_FILENAME'] ) . '/', '', dirname( __FILE__ ) . '/wp-admin/setup-config.php' );
+ }
+
// Die with an error message
$die = __( "There doesn't seem to be a wp-config.php
file. I need this before we can get started." ) . '
' . __( "Need more help? We got it." ) . '
';