1

为了网站安全,我想使用 web.config 将单个 IP 地址或几个 IP 地址重定向到不同的域。我是新手。我知道如何限制访问或阻止某些 IP,但有没有简单的重定向方法?谢谢!

4

2 回答 2

1

要重定向某些 IP 地址,您需要使用适用于 IIS 7的URL 重定向规则引擎

查看此链接以获取有关如何通过 IP 地址重定向的说明: https ://webmasters.stackexchange.com/questions/31509/web-config-to-redirect-except-some-given-ips

<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{REMOTE_HOST}" pattern="^123\.123\.123\.123" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="/coming-soon.html" />
    </rule>
  </rules>
</rewrite>
于 2013-02-27T20:31:34.463 回答
1

无法回复 Victor 的评论,所以我将把我编辑的代码放在这里而不是建议更改。

<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{REMOTE_HOST}" pattern="^123\.123\.123\.123" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="http://www.domain-to-redirect-to/coming-soon.html" />
    </rule>
  </rules>
</rewrite>

这里的变化是它重定向到询问者想要的新域,而不是同一个域上的页面。

请注意,如果您想重定向到同一个域上的coming-soon.html,您将需要更改匹配规则,否则您将进入重定向循环。

因此:

<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="(.*)coming-soon.html$" ignoreCase="false" negate="true" />
      <conditions>
        <add input="{REMOTE_HOST}" pattern="^123\.123\.123\.123" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="/coming-soon.html" />
    </rule>
  </rules>
</rewrite>
于 2013-07-18T13:03:46.170 回答