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.
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.
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.