如何解决如果没有匹配URL重写规则,如何返回404响应
我在Windows 2019上运行IIS 10.我有以下两个规则
<rules>
<rule name="Reverse Proxy Inbound Rule 1" stopProcessing="true">
<match url="ServiceName1(.*)" ignoreCase="false" />
<action type="Rewrite" url="http://127.0.0.1:9090/{R:1}" />
</rule>
<rule name="Reverse Proxy Inbound Rule 2" stopProcessing="true">
<match url="ServiceName2(.*)" ignoreCase="false" />
<action type="Rewrite" url="http://127.0.0.1:9091/{R:1}" />
</rule>
</rules>
</rewrite>
基本上,如果这两个规则都不匹配,我是否可以返回404响应。在我运行Jetty的那一刻,它正在返回
502-Web服务器在充当服务器时收到无效响应 网关或代理服务器。
解决方法
您可以使用以下规则通过url重写来设置自定义页面:
<rules>
<rule name="test" enabled="true" stopProcessing="true">
<match url="(.*)" />
<action type="CustomResponse" statusCode="404" subStatusCode="4" statusReason="this is custom error page" statusDescription="test error" />
</rule>
或
<rule name="Handle404" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="/path/to/404.html" />
</rule>
并在
<httpErrors errorMode="Custom" existingResponse="Replace" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。