IIS 将 olddomain.com/en-us/ABC 重定向到 newdomain.com/ABC
IIS Redirect olddomain.com/en-us/ABC to newdomain.com/ABC
我想在 web.config 中设置从 olddomain.com/en-us/abc/blahblah 到 newdomain.com/abc/blahblah 的重定向
意味着除了域的变化,新的 URL 没有 /en-us/,其他一切都保持不变。
我从这里那里那里捡起并提出了以下代码,但它不起作用。你能帮忙吗?
<rule name="Redirect New Site" enabled="true" stopProcessing="true">
<match url="^/en-us/(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{PATH_INFO}" pattern="^/abc/(.*)" />
<add input="{HTTP_HOST}" pattern="^olddomain.com/$" />
</conditions>
<action type="Redirect" url="https://newdomain.com/{R:1}" redirectType="Permanent" />
</rule>
对于这个需求,我在自己这边测试了一下。您可以像下面这样使用 <rule>
:
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^olddomain$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/{R:1}" />
</rule>
这是我这边的规则和测试结果。我的 web.config
中的 <rule>
是:
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^localhost:49293$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/{R:1}" />
</rule>
请注意我的旧域名是localhost:49293
。
然后当我请求 url http://localhost:49293/en-us/Upload
时,它将重定向到新的 url http://newdomain.com/Upload
(没有 en-us
)。
============================更新====== ======================
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/abc/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^olddomain$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/abc/{R:1}" />
</rule>
我想在 web.config 中设置从 olddomain.com/en-us/abc/blahblah 到 newdomain.com/abc/blahblah 的重定向 意味着除了域的变化,新的 URL 没有 /en-us/,其他一切都保持不变。 我从这里那里那里捡起并提出了以下代码,但它不起作用。你能帮忙吗?
<rule name="Redirect New Site" enabled="true" stopProcessing="true">
<match url="^/en-us/(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{PATH_INFO}" pattern="^/abc/(.*)" />
<add input="{HTTP_HOST}" pattern="^olddomain.com/$" />
</conditions>
<action type="Redirect" url="https://newdomain.com/{R:1}" redirectType="Permanent" />
</rule>
对于这个需求,我在自己这边测试了一下。您可以像下面这样使用 <rule>
:
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^olddomain$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/{R:1}" />
</rule>
这是我这边的规则和测试结果。我的 web.config
中的 <rule>
是:
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^localhost:49293$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/{R:1}" />
</rule>
请注意我的旧域名是localhost:49293
。
然后当我请求 url http://localhost:49293/en-us/Upload
时,它将重定向到新的 url http://newdomain.com/Upload
(没有 en-us
)。
============================更新====== ======================
<rule name="redirectRule1" enabled="true" stopProcessing="true">
<match url="^en-us/abc/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^olddomain$" />
</conditions>
<action type="Redirect" url="http://newdomain.com/abc/{R:1}" />
</rule>