Расширение ISAPI дает 404 на IIS7
Я использую 64-разрядную версию Windows 7 и пытаюсь загрузить расширение ISAPI. Я занят записью на локальном компьютере IIS7.
- Я добавил местоположение в DLL в разделе "Ограничения ISAPI и CGI"
- Я заставил пул приложений распознавать 32-битные приложения (расширение написано на Delphi)
- Я убедился, что "Все" имеет полные права на каталог / DLL
- Я удостоверился, что "Разрешить" ISAPI-dll в разделе "Отображения обработчика" и установить для него разрешения "Чтение / Сценарий / Выполнение"
Я все еще получаю ошибку 404.0 в IIS7
Я проверил, что мои MIME Mapping настроены для обработки *.dll, и у меня есть отлично работающее расширение ISAPI, работающее на другом сайте на той же машине.
Я даже взял это ISAPI-расширение, которое дает мне 404, и поместил его в корень рабочего сайта (где находится другая DLL) и заново сопоставил ему "Ограничения ISAPI и CGI". Тем не менее дает мне 404.0, хотя я могу буквально запустить другую DLL в то же время или сразу после, и это нормально.
Любая идея WTF происходит?!
3 ответа
Оказывается, когда вы получаете сообщение об ошибке 404.0 "файл не найден", когда вы настраиваете все остальное для правильной работы, это означает, что расширение ISAPI, которое вы используете, ссылается (т.е. включает) также на другую DLL. Без этой DLL это будет 404.0
Кроме того, если вы забыли "разрешить" определенную библиотеку ISAPI DLL (даже если ISAPI/CGI разрешено выполнять), вы получите сообщение об ошибке 404.2:)
Я знаю, что на этот ответ уже получен ответ, но так как я только что натолкнулся на это вчера, я бы также отметил, что 404.0 - это ответ, который вы получите, если каталог приложения не имеет разрешения на выполнение. Это не только для ошибок связывания.
Для 64-битной проблема заключается в реестре: проблема, с которой я столкнулся для 32-битного расположения редиректора apache в реестре: [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
но для 64-разрядного размещения должно быть: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
Обратите внимание на "Wow6432Node".
так что просто воссоздайте 32-битный код на Wow6432Node, и тогда все готово.