我正在尝试设置重写规则以返回 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>
删除重写: