Назад | Перейти на главную страницу

Код состояния 404 типа действия CustomResponse в веб-приложении Azure

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

В моем web.config я добавил следующее правило перезаписи

<rule name="Block Sitecore Access Rule" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{REQUEST_URI}" pattern="^/sitecore" />
    </conditions>
    <action type="CustomResponse" statusCode="404" statusReason="Not Found" statusDescription="Cause I said so" />
</rule>

Однако это правило не действует. Если я изменю код состояния на 403 вот так, правило сделает то, что я ожидал:

<action type="CustomResponse" statusCode="403" statusReason="Not Found" statusDescription="Cause I said so" />

Это указывает мне, что 404 не разрешено.

Веб-приложения Azure не поддерживают CustomResponse с кодом 404 или мне чего-то не хватает?

У меня работает, если я просто использую match вместо того conditions. Я протестировал перезапись, чтобы заблокировать доступ к каталогу изображений, сначала с помощью 403:

<rule name="Test 404" stopProcessing="true">
    <match url="img/*" />
    <action type="CustomResponse" statusCode="403" />
</rule>

А потом с 404:

<rule name="Test 404" stopProcessing="true">
    <match url="img/*" />
    <action type="CustomResponse" statusCode="404" />
</rule>

Удаление перезаписи: