After migration to staging, requesting any page other than Home results in 500 error I've developed my site locally and now need to migrate to staging. The Home page is displaying correctly so I would assume that a database connection is not the issue. But requesting {staging_url}/{any_segment} results in a 500 Internal Server error.

Here I'm setting the environment in index.php:

if (substr($_SERVER['SERVER_NAME'], -strlen('.dev')) === '.dev') {
    define('CRAFT_ENVIRONMENT', 'development');
} else if ($_SERVER['SERVER_NAME'] == 'staging.blah.com') {
    define('CRAFT_ENVIRONMENT', 'staging');
} else {
    define('CRAFT_ENVIRONMENT', 'production');
}


Here's my general.php:

return array(
    '*' =&gt; array(
        'extraAllowedFileExtensions' =&gt; 'vcf',
        'omitScriptNameInUrls' =&gt; true,
    ),
    'development' =&gt; array(
        'devMode' =&gt; true,
        'siteUrl' =&gt; 'http://blah.dev',
        'environmentVariables' =&gt; array(
            'baseUrl' =&gt; 'http://blah.dev',
        ),
    ),
    'staging' =&gt; array(
        'siteUrl' =&gt; 'http://staging.blah.com',
        'environmentVariables' =&gt; array(
            'baseUrl' =&gt; 'http://staging.blah.com',
        ),
    ),
    'production' =&gt; array(
        'siteUrl' =&gt; 'http://blah.com',
        'environmentVariables' =&gt; array(
            'baseUrl' =&gt; 'http://blah.com',
        ),
    ),
);
This is solved by this thread. 

The common thread here is Rackspace Cloud Sites, which apparently needs a RewriteBase / instruction in .htaccess. 

Thanks @maxx and @christopher-healey