In IIS 7 (or 7.5) and higher, when you create a new website, a new Application Pool is created and a new Virtual User is created. In order for your website to work, you will have to give this Virtual User access to your website folder. To add this permission, you right-click your website folder, click the Security tab and Edit Permissions. You can then search for the user you want to give permissions to. You WILL NOT find the Virtual User listed. You will have to know how to do the special Virtual User search. Its very easy, very easy to forget, and even easier to get very frustrated and start saying hateful things about MSFT. Below is ther username format for the Virtual User you are looking for.
* You may also have to give the IUSR account access to the folder in order to serve up static files (css, js, images, etc). Not sure if this negates the need to add the Virtual User.
IIS AppPool\DefaultAppPool
or
IIS AppPool\MyCustomAppPool
or
IIS AppPool\My New Website Name
etc