Назад | Перейти на главную страницу

IIS 6: система не может найти указанный файл

У меня есть веб-сервер Win 2003 / IIS 6 с тысячами настроенных сайтов. Два сайта независимы, а все остальные имеют примерно одинаковую конфигурацию.

В каталоге есть общий код, а затем каждый сайт имеет собственный классический код ASP, который включает файлы из общего кода. Это крайне неэффективная установка, потому что любые изменения кода, специфичного для сайта, необходимо вносить индивидуально для каждого сайта. Это также пустая трата дискового пространства.

В любом случае, когда я иду посетить любой из этих сайтов (кроме двух вышеупомянутых странных сайтов), я получаю «Система не может найти указанный файл» в окне браузера. Это происходит из любого места.

В средстве просмотра событий нет ничего интересного. Монитор процессов ничего не показывает о невозможности открытия файлов. Я даже нашел в метабазе ссылки на файлы и каталоги и исправил те немногие, которые на самом деле отсутствовали.

Я не могу просить помощи по специфике этих сайтов, но я могу спросить, что мне делать дальше с точки зрения поиска проблемы? У Apache есть хорошая регистрация ошибок, IIS, похоже, доволен отправкой недопустимых HTTP-ответов и не дает никакой полезной информации.

Попробуйте пройти тест на разрыв. Временно выключите сайт и посмотрите, не изменится ли сообщение об ошибке. Возможно, привязки перехватывает другой сайт, а не тот, который вы намеревались.

Еще одна проблема, которая меня постоянно беспокоит, - это создание нового текстового файла с переименованием в default.htm, но с настройками Windows по умолчанию это действительно default.htm.txt. Не забудьте показать известные расширения.

В журналах IIS есть код состояния (404 в вашем случае), но следующее поле - это суб-статус. Это может быть действительно полезно с ошибками 404, поскольку существует множество кодов субстатуса, которые не являются ошибками "страница не найдена".

Вы также на правильном пути с Process Monitor. Какой путь он ищет на диске, и уверены ли вы, что файл находится по тому же пути? Монитор процессов - отличный способ точно сказать, что происходит на диске, и часто обнаруживает слегка неправильную настройку, которая всегда оказывается.

Какая именно ошибка? Это 404? А также, работают ли вообще какие-нибудь классические страницы ASP? Это похоже на то, что у вас есть <!--#inclue--> директива в коде ASP где-нибудь, путь к которому был изменен.

Включили ли вы классический ASP в качестве расширения веб-службы? Чтобы включить его, перейдите к списку расширений веб-службы в диспетчере IIS и настройте статус расширения веб-службы ASP на «Разрешено».

Кроме того, вы установили ASP как компонент Windows?

Еще нужно проверить, есть ли у вас URL сканирование установлены? Это блокирует asp?