Page 1 of 1

VirtualHost with Joomla - Switch live site from localhost to debugdomain

Posted: Fri Aug 03, 2007 1:36 pm
by Basdub
It is also related to debugging between localhost or mysitedebugdomainname.com.

Q: Unable to view my site properly from my debug domain name: mysitedebugdomainname.com, only from localhost that it is displayed properly. Is there a way to make the transition automatic!

A: YES!

The 'problem' is related to the variable $mosConfig_live_site. When changing from localhost to mysitedomain.com we assume that your site is going live. Therefore, you want to update the $mosConfig_live_site variable in the configuration file.

If you need to perform other test with a temporary "almost" live site then you would have to change that variable every time.

Now, you could also modify your configuration file like this.

Change this line

Code: Select all

$mosConfig_live_site = 'http://localhost/myvirtualdirectory';


to

Code: Select all

$mosConfig_live_site = getLiveSite();  //'http://localhost/myvirtualdirectory';


At the bottom of the file and BEFORE the php closing bracket "?>", add the following function:

Code: Select all

function getLiveSite(){
 $s = empty($_SERVER["HTTPS"]) ? ''
      : ($_SERVER["HTTPS"] == "on") ? "s"
      : "";
   $proto = explode('/', $_SERVER["SERVER_PROTOCOL"]);
   $protocol = strtolower($proto[0]).$s;
   $port = ($_SERVER["SERVER_PORT"] == "80") ? ""
      : (":".$_SERVER["SERVER_PORT"]);

   $getVD = explode('/', $_SERVER['PHP_SELF']);
   if(count($getVD) <=2 ){
      $virtualdir = '';   
   }
   else{
      $virtualdir = '/' . $getVD[1];
   }
   

   return $protocol."://".$_SERVER['SERVER_NAME'].$port. $virtualdir;

}


Of course, PHP expert can modify this function to make it look even better.

-----------------

With Apache, if you have set you VirtualHost to "/virtualdirectory" in the httpd.conf file, it will also work.