Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a fresh VPS installation from my provider (Windows 2008 R2, IIS 7.5).

The default web site works fine:
I created a new website, and binding for
On that server and everywhere else that Domain maps to the IP address. (ping for example).

I created the sub folder c:\inetpub\wwwroot\com.ianquigley and created an HTML file index.html with the content "<html>cake</html>"

The default document for the web site is index.html

On the server, in Chrome I browse to and get a 404 Error.

The page says;

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had it's name changed, 
or is temporarily unavailable.

Module: IIS Web Core
Notification: HttpRequestHandler
Handler: StaticFile
Error Code: 0x80007002
Request URL:
Physical path: c:\inetpub\wwwroot\com.ianquigley\index.html
Logon Method: Anonymous
Logon User: Anonymous
Failed Request Log: c:\inetpub\logs\FailedRequestLog

The Physical Path does exist. The folder wwwroot and com.ianquigley both have "Everyone" and "Read" permission.

The c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201 file contains the request for the index.html with the 404 error code.

update (from comment below)
I created c:\cake with "Everyone" "Full Control" permissions. Moved my index.html file in there and changed the mapping in IIS. Checking the page in the browser on the server again gives me the same as above except Physical Path is c:\cake\index.html

update 2 The default web site (which works fine/can read from disk) runs in the "DefaultAppPool", which originally used the account "ApplicationPoolIdentity". The new website also uses this same app pool. I've tried changing the account to; NetworkService, LocalService and LocalSytem (refreshing the app pool each time).. still no joy!

W3SVC2 log

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2013-02-02 20:00:02
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2013-02-02 20:00:02 GET /index.html - 80 - Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.17+(KHTML,+like+Gecko)+Chrome/24.0.1312.57+Safari/537.17 404 0 2 1151

The sc-win32-status: 2 means "file not found". So this is probably simply a file access permission sort of problem. If it is, why can the default web site read from c:\inetpub\wwwroot folder sucesfully but not a sub-folder with permission.

Right now I'm completely stumped.

share|improve this question
When I remove the index.html file from the URL I get a 403 error, which could possibly be due to the root directory for the site in IIS not being mapped to c:\inetpub\wwwroot\com.ianquigley? Have you tried moving the site to a physical folder outside of inetpub and mapping the IIS website to that folder instead? – levelnis Feb 1 '13 at 10:44
Thanks for the suggestion. Have tried it and updated the question. Still no joy :( – Ian Quigley Feb 1 '13 at 12:13
Which identity is the app pool configured to run as? If it's AppPoolIdentity, try changing it to NetworkService – levelnis Feb 1 '13 at 12:19
I tried changing it to Network Serivce - still the same problem – Ian Quigley Feb 2 '13 at 20:02
Do you have the static content subfeature enabled in IIS? – Chris McKeown Feb 2 '13 at 22:16
up vote 20 down vote accepted


New VPS box, means default behaviour. i.e. "Hide file type extensions for known types". When I turned that off, I discovered my file was actually named index.html.txt. Renamed it to index.html and problem solved.

share|improve this answer
Why does a server OS, where the only real audience is the server admin crowd, disable file extension display for you like you're a computer illiterate schmuck? Oh Microsoft... – Kaslai Feb 3 '13 at 12:35
@Aslai: +1. Ian: +1 for this must have been an absolute pain to figure out in the end. – François Wahl Feb 4 '13 at 10:42
OMG. Mine was index.htm.html . So dumb – ppumkin Jan 15 '15 at 19:53
Man such a rookie mistake, thank you Microsoft. – TheLegendaryCopyCoder Dec 19 '15 at 12:06

Make sure "Common HTTP Features" under Web Server are installed. You can use Server Manager -> Roles -> Web Server -> Role Services to check, and install if it is not.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.