【问题标题】:Replace one word of domain URL in IIS替换IIS中域URL的一个单词
【发布时间】:2020-03-07 10:04:57
【问题描述】:

我将我的项目移动到一个新服务器(从 abc.com/eco 到 abc2.com/eco)并创建了一个 HTTP 重定向规则来将每个 abc.com/eco 请求重定向到 abc2.com/eco。这适用于 abc.com/eco 请求。

问题是,eco 之后的 URL 没有被重定向。

例如: abc.com/eco/departments/main.aspx?id=123

不重定向到

abc2.com/eco/departments/main.aspx?id=123

以下网址重写规则也不起作用:

<rule name="Redirects to abc2.com" patternSyntax="ECMAScript" stopProcessing="true">

    <match url=".*" />

    <conditions logicalGrouping="MatchAny">

        <add input="{HTTP_HOST}" pattern="^abc.*(com|net)$" />

    </conditions>

    <action type="Redirect" url="http://abc2.com/{R:0}" />

</rule>

我看了几十个问题,但都在询问子目录替换。

类似的问题但没有回答我的问题:

Question 1

Question 2

【问题讨论】:

  • 学习 URL 重写模块,它会有所帮助,docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…
  • @LexLi 我实际上知道 url 重写模块,但不知道如何在实际域而不是子目录上使用通配符
  • "不知道如何在实际域而不是子目录上使用通配符" 那是什么?也许您应该使用您尝试过的规则发布一个单独的问题。

标签: c# iis url-rewriting http-redirect


【解决方案1】:

这条规则在我这边运行正常。

在测试具有长期永久重定向的新重写规则之前,您是否清理了缓存。

如果您没有清理浏览器缓存,您之前的 HTTP 重定向将继续将您的 URL 重定向到 http://abc2/eco

【讨论】:

  • 你是对的。我实际上将操作更改为 abc2.com/eco{R:1}" /> 并且效果很好。
猜你喜欢
  • 2016-05-12
  • 2023-03-10
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多