Errore IIS 404 in cui esiste un file


15

Ho una nuova installazione VPS dal mio provider (Windows 2008 R2, IIS 7.5).

Il sito Web predefinito funziona correttamente: http://5.9.251.167/
ho creato un nuovo sito Web e il collegamento per http://new.ianquigley.com
su quel server e in qualsiasi altro luogo in cui il dominio viene mappato all'indirizzo IP. (ad esempio ping new.ianquigley.com).

Ho creato la sottocartella c:\inetpub\wwwroot\com.ianquigleye creato un file HTML index.htmlcon il contenuto " <html>cake</html>"

Il documento predefinito per il sito Web è index.html

Sul server, in Chrome, cerco su http://new.ianquigley.com/index.html e ottengo un errore 404.

La pagina dice;

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

Il percorso fisico esiste. La cartella wwwrooted com.ianquigleyentrambe dispongono dell'autorizzazione "Tutti" e "Leggi".

Il c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201file contiene la richiesta per index.html con il codice di errore 404.

aggiornamento (dal commento sotto)
Ho creato c:\cakecon autorizzazioni "Tutti" "Controllo completo". Ho spostato il mio file index.html e modificato il mapping in IIS. Controllare di nuovo la pagina nel browser sul server mi dà lo stesso di cui sopra, tranne il percorso fisicoc:\cake\index.html

update 2 Il sito Web predefinito (che funziona correttamente / può leggere dal disco) viene eseguito in "DefaultAppPool", che originariamente utilizzava l'account "ApplicationPoolIdentity". Anche il nuovo sito Web utilizza questo stesso pool di app. Ho provato a cambiare l'account in; NetworkService, LocalService e LocalSytem (aggiornando il pool di app ogni volta) .. ancora nessuna gioia!

Registro 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

Il sc-win32-status: 2mezzo "file non trovato". Quindi questo è probabilmente semplicemente un problema di autorizzazione all'accesso ai file. In tal caso, perché il sito Web predefinito può leggere dalla c:\inetpub\wwwrootcartella in modo corretto ma non una sottocartella con autorizzazione.

In questo momento sono completamente perplesso.


Quando rimuovo il file index.html dall'URL ricevo un errore 403, che potrebbe essere dovuto alla mappatura della directory principale per il sito in IIS c:\inetpub\wwwroot\com.ianquigley? Hai provato a spostare il sito in una cartella fisica al di fuori di inetpub e invece a mappare il sito Web IIS in quella cartella?
levelnis

Grazie per il suggerimento L'ho provato e aggiornato la domanda. Ancora nessuna gioia :(
Ian Quigley,

Quale identità è configurata per l'esecuzione del pool di app? Se lo è AppPoolIdentity, prova a cambiarlo inNetworkService
levelnis

Ho provato a cambiarlo in Network Serivce - sempre lo stesso problema
Ian Quigley il

La funzionalità secondaria del contenuto statico è abilitata in IIS?
Chris McKeown,

Risposte:


27

facepalm

Nuova casella VPS, significa comportamento predefinito. cioè "Nascondi le estensioni di file per tipi noti". Quando l'ho spento, ho scoperto che il mio file era effettivamente chiamato index.html.txt. Rinominato in index.htmle problema risolto.


24
Perché un sistema operativo server, in cui l'unico vero pubblico è la folla di amministratori del server, disabilita la visualizzazione delle estensioni dei file per te come se fossi un analfabeta schmuck del computer? Oh Microsoft ...
Kaslai,

1
@Aslai: +1. Ian: +1 per questo deve essere stato un dolore assoluto da capire alla fine.
No,

OH MIO DIO. Il mio era index.htm.html. Così stupido
Piotr Kula il

1
Santo s ***. 4 anni dopo inciampo su questo mentre mi sto scervellando per i miei 404 guai su una nuova installazione di server. index.htm.txt Se fossi nelle vicinanze ti comprerei birre per tutto il giorno.
Steve

1

Assicurarsi che "Funzionalità HTTP comuni" in Server Web siano installate. È possibile utilizzare Server Manager -> Ruoli -> Web Server -> Servizi ruolo per verificare e installare in caso contrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.