If your website has mod_rewrite enabled but the URL's generated by SilverStripe still contain 'index.php' then SilverStripe is unable to detect mod_rewrite. Adding the following line to /mysite/_config.php
will address the issue (Thanks DsX):
Director::setBaseURL('/'); // fixed index.php in the URL's