使用 web.config 进行重定向

Using web.config for redirections

我不太清楚如何在 web.config 中使用重定向。

基本上,我遇到这样一种情况,即外部资源为我的网站提供了一些 HTML,包括相对 link,这在我的情况下是不正确的。

link 提供: /财务申请/

应指向: www.MYURL.co.uk/PaymentTemplates/V12Checkout.aspx

所以我添加了

  <location path="/FinanceApply/">
    <system.webServer>
      <httpRedirect enabled="true" destination="https://www.MYURL.co.uk/PaymentTemplates/V12Checkout.aspx" httpResponseStatus="Permanent"/>
    </system.webServer>
  </location>

但出于某种原因,这完全破坏了网站。我在 web.config 中还有其他类似的重定向语句,但效果很好。

那么如何:

好的,任何遇到类似问题的人,我的问题的答案是双重的:

首先,我在 web.config 中的重定向规则 path 参数中的 / 字符无效。

其次,保留 POST 数据的答案是 307 重定向而不是 301。

为此,正确的 web.config 条目是:

<location path="FinanceApply">
   <system.webServer>
     <httpRedirect enabled="true" destination="https://mydomain.co.uk/PaymentTemplates/V12Checkout.aspx" httpResponseStatus="Temporary"/>
   </system.webServer>
</location>

注意 httpResponseStatus="Temporary",这给出了 307。