使用web.config进行重定向

时间:2015-07-18 12:49:43

标签: asp.net redirect web-config url-redirection http-redirect

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

基本上,我的情况是外部来源为我的网站提供了一些HTML,包括在我的情况下不正确的相关链接。

提供的链接:    / FinanceApply /

应指向:     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中有其他类似的重定向语句,但它工作正常。

那怎么样:

  • 我是否添加此重定向?
  • 我是否确保将/FinanceApply/路径的任何表单帖子传递到重定向的页面?

1 个答案:

答案 0 :(得分:0)

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

首先,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。