这只是我的想法,你不能使用使用浏览器定义的接受语言重定向到 ~/500.en-us.html 和 ~/500.de.html 的 URL 重写/重定向规则吗或者你可能有路径设置?
web.config 中的示例规则:
<rule name="HTTP-Language-Error-Redirect" stopProcessing="true">
<match url="^500.html$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{HTTP_ACCEPT_LANGUAGE}" pattern="^([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?$" />
</conditions>
<action type="Redirect" url="500.{C:1}.html" redirectType="Found" />
</rule>
我的想法是 redwrite/redirect 规则会起作用,因为它是 IIS 处理请求的进程的一部分,而不是应用程序代码。因此,理论上,如果 WebApp 由于某种原因被破坏,它仍然可以工作。不过,我的假设可能完全错误,我想我会诚实地试一试。