【问题标题】:IIS 7.5 URL Rewrite - replace domainIIS 7.5 URL 重写 - 替换域
【发布时间】:2015-05-11 15:01:57
【问题描述】:

https://stackoverflow.com/questions/26840890/i-need-to-change-domain-with-iis-7-5-url-rewrite 的可能重复项(尚未答复)

我有以下网址

www.myolddomain.com/somefolder-a
www.myolddomain.com/somefolder-b
www.myolddomain.com/somefolder-c
...

我想要一个规则将包含myolddomain.com/somefolder 的每个传入请求重定向到www.mynewdomain.com/somefolder,并带有上述后缀,例如-a

到目前为止,我的规则如下所示:

<rule name="Redirect from old domain" enabled="true" stopProcessing="true">
  <match url="(.*)myolddomain.com/somefolder(.*)" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
  </conditions>
  <action type="Redirect" url="https://www.mynewdomain.com/somefolder{R:2}" />
</rule>

这条规则没有任何作用。

我在这里犯错了吗? 或者可以在 IIS 之前将请求重定向到其他地方吗?

根据防火墙管理员的说法,防火墙不会发生重定向。会不会是别的?

【问题讨论】:

    标签: iis url-rewriting


    【解决方案1】:

    通过进一步的反复试验,我找到了解决方案:

    <rule name="Redirect from old domain" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{HTTP_HOST}" pattern="myolddomain.com" />
            <add input="{HTTP_URL}" pattern="/somefolder(.*)" />
        </conditions>
        <action type="Redirect" url="https://www.mynewdomain.com/somefolder{C:1}" />
    </rule>
    

    出于好奇,规则级别的匹配应该如何工作?无论我放什么,只要它不是 .* ,规则就会被忽略。

    提示其他人:不要陷入认为像“HTTP_URL”这样的服务器变量实际上包含 URL 的陷阱——它们不包含。找出真正在哪个变量中的最佳方法是这样的示例页面(从网络复制 - 我为丢失链接而道歉):

    <%@ Page Language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Server Variables</title>
    </head>
    <body>
    <table>
    <tr>
    <th>Server Variable</th>
    <th>Value</th>
    </tr>
    <tr>
    <td>HTTP_URL: </td>
    <td><%= Request.ServerVariables["HTTP_URL"] %></td>
    </tr>
    <tr>
    <td>Replace above server variable to retrieve different variables</td>
    </tr>
    </table>
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2012-05-23
      • 2013-08-14
      • 1970-01-01
      • 2011-09-02
      • 2011-10-21
      • 2013-07-26
      • 2013-06-01
      相关资源
      最近更新 更多