Я пытаюсь использовать структуру SLIM (PHP, REST) на IIS 7.5. У меня проблема в том, что мне нужно иметь возможность использовать URL-адреса REST И включить команды PUT, DELETE http.
Я решил проблему с URL-адресом REST с помощью SLIM на github (см. Web.config ниже). Но я не могу решить проблему с активацией использования глаголов, когда я использую перезапись URL.
Вот полученная мной ошибка: Ошибка HTTP 405.0 - метод запрещен. Страница, которую вы ищете, не может быть отображена, поскольку используется недопустимый метод (HTTP-команда).
Модуль StaticFileModule
Уведомление ExecuteRequestHandler
Обработчик StaticFile
Код ошибки 0x80070001
Это мой web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
<rewrite>
<rules>
<rule name="slim" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Перейдите в «Сопоставления обработчиков» и выберите используемый обработчик «* .php». Затем нажмите «Изменить», нажмите «Запросить ограничения», выберите вкладку «Глаголы» и выберите «Все глаголы» или установите необходимые в виде списка, разделенного запятыми (в вашем случае «GET, POST, PUT, DELETE»).
Изменить: вы также можете установить флажок «Вызвать обработчик, только если запрос сопоставлен с:» на вкладке «Сопоставление» (слева от вкладки «Глаголы») и выбрать «Файл или папка». Таким образом, вы можете вызвать базовый URI в например, лучший способ получить ваш корневой ресурс.