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

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

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

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

В Event Viewer нет ничего интересного. Process Monitor ничего не показывает о невозможности открыть файлы. Я даже выделил метабазу для ссылок на файлы и каталоги и исправил те, которые на самом деле отсутствовали.

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

3 ответа

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

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

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

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

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

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

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

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

Другие вопросы по тегам