IIS 404-Fehler, bei dem die Datei vorhanden ist

15

Ich habe eine neue VPS-Installation von meinem Provider (Windows 2008 R2, IIS 7.5).

Die Standardwebsite funktioniert einwandfrei: http://5.9.251.167/
Ich habe eine neue Website erstellt und sie für http://new.ianquigley.com gebunden.
Auf diesem Server und überall sonst wird diese Domain der IP-Adresse zugeordnet. (ping new.ianquigley.com zum Beispiel).

Ich habe den Unterordner c:\inetpub\wwwroot\com.ianquigleyerstellt und eine HTML-Datei index.htmlmit dem Inhalt " <html>cake</html>" erstellt.

Das Standarddokument für die Website lautet index.html

Auf dem Server gehe ich in Chrome zu http://new.ianquigley.com/index.html und erhalte einen 404-Fehler.

Die Seite sagt;

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

Der physikalische Pfad existiert. Der Ordner wwwrootund com.ianquigleybeide haben die Berechtigung "Jeder" und "Lesen".

Die c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201Datei enthält die Anforderung für die index.html mit dem 404-Fehlercode.

Update (vom Kommentar unten)
Ich habe c:\cakemit den Berechtigungen "Jeder" "Vollzugriff" erstellt. Verschob meine index.html-Datei dort hinein und änderte die Zuordnung in IIS. Beim erneuten Überprüfen der Seite im Browser auf dem Server erhalte ich die gleichen Informationen wie oben, mit Ausnahme von "Physischer Pfad"c:\cake\index.html

Update 2 Die Standardwebsite (die einwandfrei funktioniert / von der Festplatte lesen kann) wird im "DefaultAppPool" ausgeführt, der ursprünglich das Konto "ApplicationPoolIdentity" verwendet hat. Die neue Website verwendet denselben App-Pool. Ich habe versucht, das Konto zu ändern. NetworkService, LocalService und LocalSytem (Aktualisieren des App-Pools jedes Mal) .. immer noch keine Freude!

W3SVC2-Protokoll

#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

Das sc-win32-status: 2bedeutet "Datei nicht gefunden". Das ist also wahrscheinlich nur ein Problem mit der Dateizugriffsberechtigung. Wenn dies der c:\inetpub\wwwrootFall ist, warum kann die Standardwebsite erfolgreich aus einem Ordner, jedoch nicht aus einem Unterordner mit Berechtigung lesen ?

Im Moment bin ich völlig ratlos.

Ian Quigley
quelle
Wenn ich die Datei index.html von der URL entferne, wird eine 403-Fehlermeldung angezeigt, die möglicherweise darauf zurückzuführen ist, dass das Stammverzeichnis für die Site in IIS nicht zugeordnet ist c:\inetpub\wwwroot\com.ianquigley. Haben Sie versucht, die Site in einen physischen Ordner außerhalb von inetpub zu verschieben und stattdessen die IIS-Website diesem Ordner zuzuordnen?
Levelnis
Danke für den Vorschlag. Habe es ausprobiert und die Frage aktualisiert. Immer noch keine Freude :(
Ian Quigley
Unter welcher Identität wird der App-Pool ausgeführt? Wenn dies der AppPoolIdentityNetworkService
Fall
Ich habe versucht, es auf Network Serivce zu ändern - immer noch das gleiche Problem
Ian Quigley
Haben Sie das Unterfeature für statischen Inhalt in IIS aktiviert?
Chris McKeown

Antworten:

27

Gesichtspalme

Neues VPS-Feld bedeutet Standardverhalten. zB "Dateierweiterungen für bekannte Typen ausblenden". Als ich das ausschaltete, stellte ich fest, dass meine Datei tatsächlich benannt war index.html.txt. Umbenannt in index.htmlund Problem gelöst.

Ian Quigley
quelle
24
Warum deaktiviert ein Server-Betriebssystem, bei dem das einzige wirkliche Publikum die Menge der Serveradministratoren ist, die Anzeige von Dateierweiterungen für Sie, als wären Sie ein Computer-Analphabet? Oh Microsoft ...
Kaslai
1
@ Aslai: +1. Ian: +1 für das muss ein absoluter Schmerz gewesen sein, um am Ende herauszufinden.
Nope
OH MEIN GOTT. Meins war index.htm.html. So dumm
Piotr Kula
1
Holy s ***. 4 Jahre später stolpere ich darüber, während ich mir auf einer brandneuen Serverinstallation den Kopf zerbreche, um meine 404-Probleme zu lösen. index.htm.txt Wenn Sie in der Nähe wären, würde ich Ihnen den ganzen Tag Bier kaufen.
Steve
1

Stellen Sie sicher, dass "Common HTTP Features" unter Web Server installiert sind. Sie können Server-Manager -> Rollen -> Webserver -> Rollendienste verwenden, um zu überprüfen und zu installieren, ob dies nicht der Fall ist.

Ryan
quelle