Forcing WordPress to use HTTP_HOST

At times, it is convenient to force WordPress to use the hostname of the current virtual host context. By default, new versions of wordpress rely on DB configured values for siteurl, home, and url. If for instance, you run multiple codebases for testing, it might be convenient to not have it force the values to the configured ones. To accomplish this, add the following code to a custom wp plugin or just add it to the wp-config.php at the very bottom.



function set_codebase()
{
return 
'http://' $_SERVER['HTTP_HOST'];
}
remove_action('template_redirect''redirect_canonical');
add_filter 'pre_option_siteurl''set_codebase' );
add_filter 'pre_option_home''set_codebase' );
add_filter 'pre_option_url''set_codebase' );


This code can further be wrapped in a conditional so it only gets executed under explicit circumstances.

Related posts:

  1. WordPress database error: [Table 'wp_terms' doesn't exist]
  2. WordPress + Debian Mod Rewrite

Leave a Reply

Your email address will not be published. Required fields are marked *

*