Расширение ISAPI дает 404 на IIS7

Я использую 64-разрядную версию Windows 7 и пытаюсь загрузить расширение ISAPI, которое я пишу на своем локальном компьютере IIS7.

  • Я добавил местоположение в DLL в разделе «Ограничения ISAPI и CGI»
  • Я сделал так, чтобы пул приложений распознавал 32-битные приложения (расширение написано на Delphi)
  • Я убедился, что "Все" имеют полные права доступа к каталогу / dll.
  • Я убедился, что "Разрешить" ISAPI-dll в разделе "Сопоставления обработчиков" и установил для него разрешения "Чтение / Сценарий / Выполнение"

Я все еще получаю ошибку 404.0 в IIS7

Я проверил, что мое сопоставление MIME настроено для обработки * .dll, и у меня есть отлично работающее расширение ISAPI, работающее на другом сайте на той же машине.

Я даже взял это расширение ISAPI, которое дает мне 404, и поместил его в корень рабочего веб-сайта (где находится другая DLL) и повторно сопоставил с ним «Ограничения ISAPI и CGI». По-прежнему дает мне 404.0, хотя я могу буквально запустить другую DLL одновременно или сразу после этого, и это нормально.

Есть идеи, что происходит ?!


person user85569    schedule 16.08.2011    source источник


Ответы (3)


Оказывается, когда вы получаете ошибку 404.0 файл не найден, когда вы настроили все остальное для правильной работы, это означает, что используемое вами расширение ISAPI также ссылается (то есть включает) другую DLL. Без этой DLL будет 404.0

Кроме того, если вы забыли «разрешить» конкретную ISAPI DLL (даже если ISAPI / CGI разрешено выполнение), вы получите сообщение об ошибке 404.2 :)

person user85569    schedule 17.08.2011

Я знаю, что на этот вопрос был дан ответ, но поскольку я только что наткнулся на это вчера, я также хотел бы указать, что 404.0 - это ответ, который вы получите, если каталог приложения не имеет разрешения на выполнение. Это не только для ошибок привязки.

person user1664043    schedule 24.06.2014

Для 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, и все готово.

person Clyde    schedule 22.11.2013