First, when testing a single domain, you should always use localhost and not the IP address of your machine, nor the windows name of your machine. Trust our experience that cookies may act weird on the IP address or the windows name. On localhost they work like they do in real life (on full domain names).

Now, in order to test b2evo on multiple domains all from the development machine, the easiest thing is to set up some fake domains for use in the test URLS.

Open the hosts file with a text editor.

  • On Linux and Mac OS X, this is /etc/hosts. Because the file may be protected, you mat need to type a command like this in your Terminal: sudo nano /private/etc/hosts
  • On Windows XP, this is C:\WINDOWS\system32\drivers\etc\hosts. You should be able to open the file with Notepad.

This file is where localhost is defined. Like this:

Code       localhost

Add the following lines:

Code  all.b2evotest.loc  a.b2evotest.loc  b.b2evotest.loc  links.b2evotest.loc

Using these domains in the URL will produce the same results as localhost, except cookies won’t be shared…

Note: we recommend using .loc instead of .local as .local may trigger some other protocols like Bonjour.

To tie the blogs to these URLs, you must set their absolute URLs accordingly in the admin.

Last edit by on October 2nd, 2013

1 comment

Kevin Prichard

A quick comment on multiple domains - I've seen many requests on forums for this feature. There is a relatively simple way to do this with current versions prior to Phoenix:

1. Use stub files to manage access to the various domains or subdomains - index.php in each virtual host's DocumentRoot folder (see b2e docs for more info on this.)

2. In the stub file, add a line to set the variable $baseurl to "" - no trailing slash! There should be just one of these lines per stub file. Like this:

$baseurl = '';

3. In your b2evolution installation's conf/ folder, edit _config.php:

3.1 Look for the line that says $baseurl = '';

3.2 Change it by inserting the following code at the begining of the line: 'if(!isset($baseurl))'

4. The finished line should read something like:

if(!isset($baseurl)) $baseurl = '';

This allows the stub files to override the $baseurl variable in the _config.php file.

There may be other things that need tweaking - most notably, comments may not work. On *nix servers, you can fix this by symlinking the 'htsrv' folder into each domain/subdomain's root folder (where you keep a stub file for each.) Windows servers, I haven't had time to test.

You may also need to set a tag in each site's skin _main.php file, depending on whether your site draws elements from a main site (i.e. a skin for may need a BASE HREF pointing to if it uses images or stylesheets from the main site.)

Kevin Prichard

02/15/06 @ 15:28