Azure Web 应用程序上的 CustomResponse 操作类型状态代码 404

Azure Web 应用程序上的 CustomResponse 操作类型状态代码 404

我正在尝试设置重写规则以返回 Azure Web App 上目录的 404。我们正在使用 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 Web Apps 是否不支持 404 的 CustomResponse,或者我遗漏了其他什么?

答案1

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>

在此处输入图片描述

删除重写:

在此处输入图片描述

相关内容