I have had to migrate silverstripe from apache to IIS, everything has been copied fine including the database. I had issues with the mod_rewrite stuff in the htaccess file but managed to get around that issue successfully (i think)
However now when you load the root folder it directs to a 404 error page. ie when i go to http://website.com/ it 404 errors but if I go to http://website.com/index.php it is fine. I have set IIS to use index.php as the default file however it still does not work.
I then decided to make my own index.php and see if that was loading... which it was, so this leads me to believe that the index.php file is loading however something within silverstripe is redirecting to a 404.
IIS 7 and 7.5 use this extension for rewriting: [url]http://www.iis.net/expand/URLRewrite[/url]. Create a new web.config file in your project and add the following from this page: [url]http://open.silverstripe.org/browser/phpinstaller/branches/2.4/web.config[/url].
If using IIS 5 or 6 it may be a little more difficult, as there are no official rewriting extensions for these versions. However, there are third-party extensions that may work.