我在这里遇到了一个非常有趣的情况,希望你能帮助我。
如果用户输入domain.com,我会在web.config中使用此代码将其重定向到www.domain.com:
<rules>
<rule name="Add WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.(.+)$" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:1}"
appendQueryString="true" redirectType="Permanent" />
</rule>
这很简单干净,就像一个魅力。但是domain.com也有一个专用的IP,就像19.12.121.121。当我尝试使用IP连接我的站点时,web.config将我重定向到:www.19.12.121.121。
所以问题是,我该如何防止这种情况?它会重定向域而不是IP?
谢谢。
答案 0 :(得分:0)
因为我已经看到你正在使用URL重写:
这是我使用的规则,它适用于我,包括IP地址。
<rule name="Redirect to WWW" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" negate="true" pattern="www.(YOUR DESIRED URL).com" />
</conditions>
<action type="Redirect" url="http://www.(YOUR DESIRED URL).com/{R:1}" redirectType="Permanent" />
</rule>