web-dev-qa-db-fra.com

IIS 404 erreur où le fichier existe

J'ai une nouvelle installation VPS de mon fournisseur (Windows 2008 R2, IIS 7.5).

Le site Web par défaut fonctionne correctement: http://5.9.251.167/
J'ai créé un nouveau site Web et une liaison pour http://new.ianquigley.com
Sur ce serveur et partout ailleurs, ce domaine est mappé à l'adresse IP. (ping new.ianquigley.com par exemple).

J'ai créé le sous-dossier c:\inetpub\wwwroot\com.ianquigley et a créé un fichier HTML index.html avec le contenu "<html>cake</html> "

Le document par défaut du site Web est index.html

Sur le serveur, dans Chrome je navigue vers http://new.ianquigley.com/index.html et j'obtiens une erreur 404.

La page dit;

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

Le Chemin Physique existe. Le dossier wwwroot et com.ianquigley les deux ont l'autorisation "Tout le monde" et "Lecture".

Le c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201 Le fichier contient la demande d'index.html avec le code d'erreur 404.

mise à jour (à partir du commentaire ci-dessous)
J'ai créé c:\cake avec les autorisations "Tout le monde" "Contrôle total". J'ai déplacé mon fichier index.html et modifié le mappage dans IIS. Vérifier à nouveau la page dans le navigateur sur le serveur me donne la même chose que ci-dessus sauf que le chemin physique est c:\cake\index.html

mise à jour 2 Le site Web par défaut (qui fonctionne bien/peut lire à partir du disque) s'exécute dans le "DefaultAppPool", qui utilisait à l'origine le compte "ApplicationPoolIdentity". Le nouveau site Web utilise également ce même pool d'applications. J'ai essayé de changer le compte en; NetworkService, LocalService et LocalSytem (actualisation du pool d'applications à chaque fois) .. toujours pas de joie!

Journal W3SVC2

#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

Le sc-win32-status: 2 signifie "fichier introuvable". Il s'agit donc probablement simplement d'une sorte de problème de permission d'accès aux fichiers. Si tel est le cas, pourquoi le site Web par défaut peut-il lire à partir de c:\inetpub\wwwroot dossier avec succès mais pas un sous-dossier avec permission.

En ce moment, je suis complètement perplexe.

15
Ian Quigley

Facepalm

Nouvelle boîte VPS, signifie comportement par défaut. c'est-à-dire "Masquer les extensions de type de fichier pour les types connus". Lorsque j'ai désactivé cela, j'ai découvert que mon fichier s'appelait en fait index.html.txt. Renommé en index.html et problème résolu.

27
Ian Quigley

Assurez-vous que les "Fonctions HTTP communes" sous Web Server sont installées. Vous pouvez utiliser le Gestionnaire de serveur -> Rôles -> Serveur Web -> Services de rôle pour vérifier et installer s'il ne l'est pas.

1
Ryan