我正在尝试将所有 PHP 请求重写为 IIS 10/Windows Server 2016 上的 410 Gone。使用此规则后,PHP 请求将返回 404 错误。如果我将模式更改为“^.*.ph1”,则对 /test.ph1 的请求将返回 410。
在 URL 重写规则之前,什么可以捕获 PHP 请求并返回 404?此服务器上未安装 PHP。
<rewrite>
<rules>
<rule name="RequestBlockingRule1" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{URL}" pattern="^.*\.php" />
</conditions>
<action type="CustomResponse" statusCode="410" statusReason="Gone" statusDescription="Gone" />
</rule>
</rules>
</rewrite>
答案1
IIS 请求过滤将在 URL 重写规则之前捕获请求,并设置 404.7 响应(以 404 的形式发送回浏览器)。