17

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

The default web site works fine: http://5.9.251.167/
I created a new website, and binding for http://new.ianquigley.com
On that server and everywhere else that Domain maps to the IP address. (ping new.ianquigley.com 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 http://new.ianquigley.com/index.html 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.

Detail:
Module: IIS Web Core
Notification: HttpRequestHandler
Handler: StaticFile
Error Code: 0x80007002
Request URL: http://new.ianquigley.com/index.html
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 5.9.251.167 GET /index.html - 80 - 5.9.251.167 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.

9
  • 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, 2013 at 10:44
  • Thanks for the suggestion. Have tried it and updated the question. Still no joy :( Feb 1, 2013 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, 2013 at 12:19
  • I tried changing it to Network Serivce - still the same problem Feb 2, 2013 at 20:02
  • Do you have the static content subfeature enabled in IIS? Feb 2, 2013 at 22:16

2 Answers 2

30

Facepalm

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.

5
  • 25
    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, 2013 at 12:35
  • 1
    @Aslai: +1. Ian: +1 for this must have been an absolute pain to figure out in the end.
    – Nope
    Feb 4, 2013 at 10:42
  • OMG. Mine was index.htm.html . So dumb
    – Piotr Kula
    Jan 15, 2015 at 19:53
  • 1
    Holy s***. 4 years later I stumble on this while wracking my brain for my 404 woes on a brand new server install. index.htm.txt If you were nearby I'd be buying you beers all day long.
    – Steve
    Mar 31, 2017 at 13:07
  • Holy s***. another 4 years later I stumble on this while wracking my brain for my 404 woes on a brand new server install. index.html.txt If you were nearby I'd be buying you beers all day long.
    – jlai
    Jul 20, 2021 at 17:59
1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .