<p>J’ai une installation VPS fraîche de mon fournisseur (Windows 2008 R2, IIS 7.5).</p>
<p>Le site web par défaut fonctionne bien : <code>http://5.9.251.167/</code></p>
<p>J’ai créé un nouveau site web, et une liaison pour <a href="http://new.ianquigley.com" rel="noopener nofollow ugc">http://new.ianquigley.com</a></p>
<p>Sur ce serveur et partout ailleurs, ce domaine pointe vers l’adresse IP. (ping <a href="http://new.ianquigley.com" rel="noopener nofollow ugc">new.ianquigley.com</a> par exemple).</p>
<p>J’ai créé le sous-dossier <code>c:\inetpub\wwwroot\com.ianquigley</code> et créé un fichier HTML <code>index.html</code> avec le contenu « <code><html>cake</html></code> »</p>
<p>Le document par défaut du site web est <code>index.html</code></p>
<p>Sur le serveur, dans Chrome, je navigue vers <a href="http://new.ianquigley.com/index.html" rel="noopener nofollow ugc">http://new.ianquigley.com/index.html</a> et j’obtiens une erreur 404.</p>
<p>La page indique :</p>
<pre><code class="lang-auto">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
</code></pre>
<p>Le chemin physique existe. Les dossiers <code>wwwroot</code> et <code>com.ianquigley</code> ont tous deux les permissions « Tout le monde » et « Lecture ».</p>
<p>Le fichier <code>c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201</code> contient la requête pour index.html avec le code d’erreur 404.</p>
<p><strong>Mise à jour</strong> (d’après le commentaire ci-dessous)</p>
<p>J’ai créé <code>c:\cake</code> avec les permissions « Tout le monde » « Contrôle total ». J’ai déplacé mon fichier index.html dedans et changé le mappage dans IIS. La vérification de la page dans le navigateur sur le serveur donne le même résultat que ci-dessus sauf que le chemin physique est <code>c:\cake\index.html</code></p>
<p><strong>Mise à jour 2</strong><br>
Le site web par défaut (qui fonctionne bien/peut lire depuis le disque) fonctionne dans le « DefaultAppPool », qui utilisait à l’origine le compte « ApplicationPoolIdentity ». Le nouveau site web utilise aussi ce même pool d’applications. J’ai essayé de changer le compte pour : NetworkService, LocalService et LocalSystem (en rafraîchissant le pool d’applications à chaque fois)… toujours pas de succès !</p>
<p>Journal W3SVC2</p>
<pre><code class="lang-auto">#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
</code></pre>
<p>Le <code>sc-win32-status: 2</code> signifie « fichier introuvable ». C’est donc probablement simplement un problème de permission d’accès au fichier. Si c’est le cas, pourquoi le site web par défaut peut-il lire depuis le dossier <code>c:\inetpub\wwwroot</code> avec succès mais pas un sous-dossier avec les permissions ?</p>
<p>Pour le moment, je suis complètement bloqué.</p>