Я перемещаю приложение PHP на свой веб-сервер IIS 7.
Многие файлы в приложении являются файлами php, но не имеют расширения php (фактически, у них нет расширения файла). Это отлично работает на старом хостинге Apache, но я не могу заставить его работать на IIS 7.
Я пытался изменить сопоставления обработчиков, но не знаю, как сопоставить файлы без расширения обработчику PHP.
Я пробовал просто использовать *, но, как я подозревал, статические файлы, такие как jpeg, также запускались через PHP, и это не понравилось.
Спасибо за вашу помощь.
Вероятно, вам придется добавить еще один обработчик для файлов, которые исполняемый файл PHP не должен пытаться анализировать. Я не знаю, как сказать интерпретатору PHP не интерпретировать определенные файлы на основе расширения.
Стандартный способ сделать это - добавить mime-тип и обработчик для *. файлы, однако, как вы указали, это приведет к тому, что все файлы, еще не охваченные обработчиком, будут обрабатываться PHP, а это не то, что вам нужно.
Я думаю, что единственные варианты, которые я могу придумать, - это либо сделать это, а затем добавить обработчики для всех файлов, которые PHP не должен обрабатывать, либо добавить расширения к этим файлам. Если их много, вы могли бы использовать утилиту поиска и замены для добавления расширений файлов.
Вам необходимо убедиться, какой модуль используется в Apache и как отображение дескрипторов реализовано в PHP на Unix, чтобы успешно перенести его в IIS 7.
Использование FastCGI для размещения приложений PHP в IIS 7.0. Это должно помочь ..
(источник: iis.net)
. Просто позаботьтесь о разделе Handler Mapping ... и PHP должен работать.