I had the same problem and I think I found the solution.
I emailed Silverstripe instead of coming here. I got help but was reminded that the forum was the place to be.
Anyway, tech support at my host site said it was an .htaccess problem so he commented out the line:
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
I was back to a static page for my site.
Then I read this post. So I added an .htaccess file to all my subdomains. Nothing worked. Although, this whole time one subdomain wasn't affected. So I opened that .htaccess file and it read:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /monkeychow/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /monkeychow/index.php [L]
</IfModule>
# END WordPress
One of my blogs is on http://frankjuval.com/monkeychow/ (just to give a little history to help this make sense).
So I copied and pasted the above code into each .htaccess file for each directory, but just changed "monkeychow" to the name of the specific directory each .htaccess file was in. It worked!
You'll also want to make sure that there's an "index.php" file in the directory you're pointing it to. If there's an "index.html" file instead, just change that last line to read:
RewriteRule . /directory_name/index.html [L]
Do you understand? Or does this confuse you more?
I'm sure the "Begin WordPress...End WordPress" has to be changed accordingly as well. It just so happens that my blogs are with WordPress so I kept that in.