Обработчик статических файлов IIS 10, препятствующий пользовательскому глаголу PHP для документа по умолчанию

Я пытаюсь включить IIS 10, чтобы разрешить использование пользовательских команд в PHP. У меня включен PHP_via_FastCGI, чтобы принимать все глаголы. Это работает правильно, когда я указываю полный путь, включая index.php в конце.

Проблема заключается в том, что я не указываю index.php в конечной точке URL. В этом случае кажется, что обработчик StaticFile берет на себя, и я получаю следующую ошибку, которая ссылается на обработчик StaticFile:

HTTP Error 405.0 - Method Not Allowed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.

Обработчик StaticFile также настроен на разрешение всех глаголов.

Также стоит отметить, что во время моего исследования я удалил все остальные обработчики (кроме PHP_via_FastCGI и StaticFile) для всего сайта, ссылающегося на * путь. WebDav тоже не устанавливается. Мой Web.config по сути пуст. У меня есть полный доступ администратора к серверу.

Есть ли другой способ настроить обработчик PHP_via_FastCGI для обработки документов по умолчанию, удалив тем самым обработчик StaticFile? Или есть конфигурация в StaticFile, которую мне не хватает?

Спасибо за помощь!

0
задан 15 December 2017 в 18:03
1 ответ

Я не уверен, что это лучший способ, но я обошел проблему, отключив обработчик StaticFile в Web.config и добавив правило перезаписи URL. На первый взгляд это работает.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
    <handlers>
        <remove name="StaticFile"/>
    </handlers>
    <rewrite>
            <rules>
            <rule name="Lang-Redirect">
                    <match url="(.*)$" />
                    <action type="Rewrite" url="{R:1}/index.php" />
            </rule>
            </rules>
    </rewrite>
    </system.webServer>
</configuration>
0
ответ дан 5 December 2019 в 07:01

Теги

Похожие вопросы