This is the reason for the 404 error...
Here is the scenario. You have a shared hosting account with several addon domain and/or subdomains. Each addon domain (or subdomain) has a folder which is the "document root" for that domain (or subdomain).
So you have a public_html folder for your main domain, and perhaps your host creates a folder within that for each addon domain, so you also have something like this:
public_html/ (doc root for main site)
public_html/addondomain1.com/ (doc root for first addon domain)
public_html/addondomain2.com/ (doc root for second addon domain)
public_html/somesubdomain/ (doc root for a subdomain)
Lets say you install revolution in public_html/addondomain1.com/ and it is working fine. Then, in the manager, you create a second context called web2, and make a couple documents in that context.
Next you copy index.php, core.config.php (and .htaccess if you have friendly urls) to public_html/addondomain2.com/ and faithfully edit index.php like this:
$modx->initialize('web2');
You think everything will be great, but when you go to www.addondomain2.com you get a 404. Why? Well, MODx will load the page identified in the site_start setting. Site start, of course, points to a document in the FIRST context. The second context doesn’t have access to that document, so you get a 404.
The solution is to override the site_start setting in the second context. To do this, right click on the context and select "edit context." There you can add a new conext setting. So add a setting with the key site_start and set it to the id of one of the pages in the second context. Then it will work. Be sure to do the same for the error_page setting and any other settings that are specific to that site.
I had this same problem...could someone update the wiki with this info?