使用 IIS 在 ASP.NET C# 中重写 URL

本文关键字:重写 URL NET IIS ASP 使用 | 更新日期: 2023-09-27 18:36:02

我对IIS不太了解,但我正在尝试使用URL重写进行重定向。我正在尝试从http://www.cooltoys.com.au/besttoys 到 http://www.cooltoys.com.au/bestcooltoys

我的 Web.config 文件中有以下代码,但它不起作用,我很难理解为什么。

<rules>
<rule name = "ToysRedirect" StopProcessing="true" />
<match url = "besttoys" />
<action type = "Redirect" url = "http://www.cooltoys.com.au/bestcooltoys" appendQueryString="true" redirectType="Permanent"/>
</rule>
</rules>

我认为问题出在"匹配网址"部分(模式)上,所以有人可以解释一下如何编写它,以便它正确重定向。谢谢柯瑞

使用 IIS 在 ASP.NET C# 中重写 URL

它将

是这样的:

<rules>
    <rule name = "ToysRedirect" StopProcessing="true" />
    <match url = "^(.*)/besttoys$" />
    <action type = "Redirect" url = "{R:1}/bestcooltoys" appendQueryString="true" redirectType="Permanent"/>
    </rule>

基本上你需要学习正则表达式。"^(.*)/besttoys$" - 表示我们查找任何以/besttoys 结尾的 URL,然后将其替换为/bestcooltoys。() 字符定义了一个组,然后我们可以通过 {R:1} 引用该组 - 表示第一个定义的组。