IIS 404 kesalahan di mana file ada

15

Saya memiliki instalasi VPS baru dari penyedia saya (Windows 2008 R2, IIS 7.5).

Situs web standar berfungsi dengan baik: http://5.9.251.167/
Saya membuat situs web baru, dan mengikat untuk http://new.ianquigley.com
Di server itu dan di mana pun yang lain, Domain memetakan ke alamat IP. (ping new.ianquigley.com misalnya).

Saya membuat sub folder c:\inetpub\wwwroot\com.ianquigleydan membuat file HTML index.htmldengan konten " <html>cake</html>"

Dokumen default untuk situs web adalah index.html

Di server, di Chrome saya menjelajah ke http://new.ianquigley.com/index.html dan mendapatkan 404 Kesalahan.

Halaman itu mengatakan;

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

Jalan Fisik memang ada. Folder wwwrootdan com.ianquigleykeduanya memiliki izin "Semua Orang" dan "Baca".

The c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201file berisi permintaan untuk index.html dengan kode kesalahan 404.

pembaruan (dari komentar di bawah) yang
saya buat c:\cakedengan izin "Semua Orang" "Kontrol Penuh". Memindahkan file index.html saya di sana dan mengubah pemetaan di IIS. Memeriksa halaman di browser pada server lagi memberi saya hal yang sama seperti di atas kecuali Path Fisik adalahc:\cake\index.html

pembaruan 2 Situs web standar (yang berfungsi dengan baik / dapat membaca dari disk) berjalan di "DefaultAppPool", yang awalnya menggunakan akun "ApplicationPoolIdentity". Situs web baru ini juga menggunakan kumpulan aplikasi yang sama ini. Saya sudah mencoba mengubah akun menjadi; NetworkService, LocalService, dan LocalSytem (menyegarkan kumpulan aplikasi setiap saat) .. masih belum ada sukacita!

Log 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

The sc-win32-status: 2berarti "file tidak ditemukan". Jadi ini mungkin hanya semacam masalah izin akses file. Jika ya, mengapa situs web default dapat membaca dari c:\inetpub\wwwrootfolder dengan sukses tetapi bukan sub-folder dengan izin.

Saat ini aku benar-benar bingung.

Ian Quigley
sumber
Ketika saya menghapus file index.html dari URL saya mendapatkan kesalahan 403, yang mungkin disebabkan oleh direktori root untuk situs di IIS yang tidak dipetakan c:\inetpub\wwwroot\com.ianquigley? Sudahkah Anda mencoba memindahkan situs ke folder fisik di luar inetpub dan memetakan situs web IIS ke folder itu?
levelnis
Terima kasih untuk sarannya. Sudah mencobanya dan memperbarui pertanyaan. Masih tidak ada sukacita :(
Ian Quigley
Identitas mana yang merupakan kumpulan aplikasi yang dikonfigurasi untuk dijalankan? Jika itu AppPoolIdentity, coba ubah keNetworkService
levelnis
Saya mencoba mengubahnya ke Network Serivce - masih masalah yang sama
Ian Quigley
Apakah Anda memiliki subfeature konten statis yang diaktifkan di IIS?
Chris McKeown

Jawaban:

27

Telapak tangan

Kotak VPS baru, berarti perilaku default. yaitu "Sembunyikan ekstensi tipe file untuk tipe yang dikenal". Ketika saya mematikannya, saya menemukan file saya sebenarnya bernama index.html.txt. Berganti nama menjadi index.htmldan masalah terpecahkan.

Ian Quigley
sumber
24
Mengapa OS server, di mana satu-satunya audiens sebenarnya adalah kerumunan admin server, menonaktifkan tampilan ekstensi file untuk Anda seperti Anda seorang komputer bodoh? Oh Microsoft ...
Kaslai
1
@ Aslai: +1. Ian: +1 untuk ini pasti sangat menyakitkan untuk diketahui pada akhirnya.
Tidak
OH TUHAN. Milik saya adalah index.htm.html. Sangat bodoh
Piotr Kula
1
Sial. 4 tahun kemudian saya tersandung pada ini sementara otak saya untuk 404 kesengsaraan saya menginstal server baru. index.htm.txt Jika Anda berada di dekat saya akan membelikan Anda bir sepanjang hari.
Steve
1

Pastikan "Fitur HTTP Umum" di bawah Server Web diinstal. Anda dapat menggunakan Server Manager -> Peran -> Server Web -> Layanan Peran untuk memeriksa, dan menginstal jika tidak.

Ryan
sumber