使用 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 中还有其他类似的重定向语句,但效果很好。
那么如何:
- 我要添加这个重定向吗?
- 我是否确保将发送到
/FinanceApply/
路径的任何表单帖子都传递到重定向页面?
好的,任何遇到类似问题的人,我的问题的答案是双重的:
首先,我在 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。
我不太清楚如何在 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 中还有其他类似的重定向语句,但效果很好。
那么如何:
- 我要添加这个重定向吗?
- 我是否确保将发送到
/FinanceApply/
路径的任何表单帖子都传递到重定向页面?
好的,任何遇到类似问题的人,我的问题的答案是双重的:
首先,我在 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。