ข้อผิดพลาด IIS 404 ที่มีไฟล์อยู่


15

ฉันมีการติดตั้ง VPS ใหม่จากผู้ให้บริการของฉัน (Windows 2008 R2, IIS 7.5)

เว็บไซต์เริ่มต้นใช้งานได้ดี: http://5.9.251.167/
ฉันสร้างเว็บไซต์ใหม่และเชื่อมโยงกับhttp://new.ianquigley.com
บนเซิร์ฟเวอร์นั้นและที่อื่น ๆ ที่ Domain จะจับคู่กับที่อยู่ IP (เช่น ping new.ianquigley.com เป็นต้น)

ฉันสร้างโฟลเดอร์ย่อยc:\inetpub\wwwroot\com.ianquigleyและสร้างไฟล์ HTML ที่index.htmlมีเนื้อหา " <html>cake</html>"

เอกสารเริ่มต้นสำหรับเว็บไซต์คือ index.html

บนเซิร์ฟเวอร์ใน Chrome ฉันเรียกดูhttp://new.ianquigley.com/index.htmlและรับข้อผิดพลาด 404

หน้าพูดว่า;

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

เส้นทางกายภาพมีอยู่จริง โฟลเดอร์wwwrootและcom.ianquigleyทั้งคู่มีสิทธิ์ "ทุกคน" และ "อ่าน"

c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201ไฟล์มีการร้องขอสำหรับ index.html ที่มีรหัสข้อผิดพลาด 404

อัปเดต (จากความคิดเห็นด้านล่าง)
ฉันสร้างc:\cakeด้วยสิทธิ์ "ทุกคน" "ควบคุมทั้งหมด" ย้ายไฟล์ index.html ของฉันไปที่นั่นและเปลี่ยนการแมปใน IIS การตรวจสอบหน้าเว็บในเบราว์เซอร์บนเซิร์ฟเวอร์อีกครั้งทำให้ฉันเหมือนข้างต้นยกเว้นเส้นทางกายภาพคือc:\cake\index.html

อัปเดต 2 เว็บไซต์เริ่มต้น (ซึ่งทำงานได้ดี / สามารถอ่านจากดิสก์) ทำงานใน "DefaultAppPool" ซึ่งเดิมใช้บัญชี "ApplicationPoolIdentity" เว็บไซต์ใหม่ใช้แอพเดียวกันนี้ด้วย ฉันได้ลองเปลี่ยนบัญชีเป็น NetworkService, LocalService และ LocalSytem (รีเฟรชพูลแอพในแต่ละครั้ง) .. ยังไม่มีความสุข!

บันทึก 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

sc-win32-status: 2หมายถึง "ไฟล์ไม่พบ" ดังนั้นนี่อาจเป็นเพียงแค่ปัญหาการอนุญาตการเข้าถึงไฟล์ ถ้าเป็นเช่นนั้นทำไมเว็บไซต์เริ่มต้นสามารถอ่านจากc:\inetpub\wwwrootโฟลเดอร์ได้ แต่ไม่ใช่โฟลเดอร์ย่อยที่ได้รับอนุญาต

ตอนนี้ฉันนิ่งงันอย่างสมบูรณ์


เมื่อฉันลบไฟล์ index.html จาก URL ที่ฉันได้รับข้อผิดพลาด 403 ซึ่งอาจจะเป็นเพราะไดเรกทอรีรากสำหรับเว็บไซต์ใน IIS ไม่ได้ถูกแมปไปc:\inetpub\wwwroot\com.ianquigley? คุณได้ลองย้ายไซต์ไปยังโฟลเดอร์ที่มีอยู่จริงนอก inetpub และทำการแมปเว็บไซต์ IIS ไปยังโฟลเดอร์นั้นแทนหรือไม่
levelnis

ขอบคุณสำหรับคำแนะนำ ลองแล้วและอัปเดตคำถาม ยังไม่มีความสุข :(
Ian Quigley

รหัสประจำตัวใดที่กลุ่มแอพกำหนดค่าให้ทำงานเป็น หากเป็นAppPoolIdentityเช่นนั้นให้ลองเปลี่ยนเป็นNetworkService
ระดับนี่คือ

ฉันลองเปลี่ยนเป็น Network Serivce - ยังคงเป็นปัญหาเดิม
Ian Quigley

คุณเปิดใช้งานคุณลักษณะย่อยเนื้อหาแบบคงที่ใน IIS หรือไม่
Chris McKeown

คำตอบ:


27

facepalm

ใหม่ VPS กล่องหมายถึงพฤติกรรมเริ่มต้น เช่น "ซ่อนนามสกุลไฟล์ประเภทสำหรับประเภทที่รู้จัก" index.html.txtเมื่อผมปิดที่ผมค้นพบแฟ้มของฉันเป็นชื่อจริง เปลี่ยนชื่อเป็นindex.htmlและแก้ไขปัญหา


24
เหตุใดระบบปฏิบัติการเซิร์ฟเวอร์ที่ผู้ชมที่แท้จริงเพียงคนเดียวคือผู้ดูแลระบบเซิร์ฟเวอร์ปิดใช้งานการแสดงนามสกุลไฟล์สำหรับคุณเช่นคุณเป็นคอมพิวเตอร์ที่ไม่รู้หนังสือ schmuck? โอ้ Microsoft ...
Kaslai

1
@Aslai: +1 เอียน: +1 สำหรับสิ่งนี้จะต้องเจ็บปวดอย่างที่สุดที่จะคิดออกในตอนท้าย
Nope

พระเจ้าช่วย. ของฉันคือ index.htm.html โง่มาก
Piotr Kula

1
*** s ศักดิ์สิทธิ์ 4 ปีต่อมาฉันสะดุดในขณะที่ทำลายสมองของฉันเป็นเวลา 404 ปีบนเซิร์ฟเวอร์ตัวใหม่ index.htm.txt ถ้าคุณอยู่ใกล้ฉันจะซื้อเบียร์ให้คุณทั้งวัน
Steve

1

ตรวจสอบให้แน่ใจว่าติดตั้ง "คุณสมบัติ HTTP ทั่วไป" ภายใต้เว็บเซิร์ฟเวอร์ คุณสามารถใช้ตัวจัดการเซิร์ฟเวอร์ -> บทบาท -> เว็บเซิร์ฟเวอร์ -> บริการบทบาทเพื่อตรวจสอบและติดตั้งหากไม่ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.