我试图进行301重定向,因为我更改了域名。使用Windows服务器并在web.config中添加以下规则。
<rule name="redirectDomain" stopProcessing="true">
<match url="(.*)" />
<action type="Redirect" url="http://replacement-cost.net/{R:1}" redirectType="Permanent" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^(www.)?windshield-replacement-cost\.org$" />
</conditions>
</rule>
这是正常的,因为所有页面在新站点上具有相同的名称和文件结构...除了作为旧域的根目录的页面。现在是http://replacement-cost.net/windshield-replacement-cost
是否可以编写另一条规则来仅重定向根目录?有第二条规则重定向所有其他页面?可能是某种执行顺序?
实现与此基本相同的结果的东西
如果ruleURLISROOT = true&gt;转到http://replacement-cost.net/windshield-replacement-cost
否则
使用上面的代码重定向
任何帮助将不胜感激。我花了很长时间才走到这一步!感谢
答案 0 :(得分:4)
这是应在现有规则之前添加的新规则
<rule name="redirect Root Domain" stopProcessing="true">
<match url="^$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(www.)?windshield-replacement-cost\.org$" />
</conditions>
<action type="Redirect" url="http://replacement-cost.net/windshield-replacement-cost" />
</rule>
这是您现有的规则
<rule name="redirectDomain" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(www.)?windshield-replacement-cost\.org$" />
</conditions>
<action type="Redirect" url="http://replacement-cost.net/{R:1}" redirectType="Permanent" />
</rule>