Помилка IIS 404 там, де існує файл


15

У мене свіжа установка VPS від мого провайдера (Windows 2008 R2, IIS 7.5).

Веб-сайт за замовчуванням працює чудово: http://5.9.251.167/
я створив новий веб-сайт і прив'язує його до http://new.ianquigley.com
На цьому сервері та в будь-якому іншому місці, що домен відображає 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з «Всі» «» дозволом Full Control. Перемістив файл 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
levelnis

Я спробував змінити його на Network Serivce - все одно та сама проблема
Ian Quigley

Чи ввімкнено підстанцію статичного вмісту в IIS?
Кріс МакКаун

Відповіді:


27

Facepalm

Нове поле VPS означає поведінку за замовчуванням. тобто "Сховати розширення типу файлів для відомих типів". Коли я вимкнув це, я виявив, що мій файл насправді названий index.html.txt. Перейменовано його на index.htmlта вирішено проблему.


24
Чому серверна ОС, де єдиною реальною аудиторією є натовп адміністратора сервера, вимикає відображення розширення файлів для вас, як ви неграмотний комп'ютер? О Microsoft ...
Каслай

1
@Aslai: +1. Ян: +1 для цього, мабуть, це було абсолютним болем, щоб з'ясувати в підсумку.
Nope

О БОЖЕ МІЙ. Моя була index.htm.html. Тож німий
Пьотр Кула

1
Святий ***. Через 4 роки я натрапляю на це, обертаючи мої мої 404 клопоти на новій установці сервера. index.htm.txt Якби ти був поруч, я купував би тобі пиво цілий день.
Стів

1

Переконайтесь, що на веб-сервері встановлено "Загальні функції HTTP". Ви можете використовувати диспетчер сервера -> Ролі -> Веб-сервер -> Рольові послуги, щоб перевірити та встановити його, якщо його немає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.