我有一个托管在 godaddy(豪华 4GH 计划)上的 .net mvc3 网站,带有 SSL 和专用 IP 地址(173.201。。)最近,我注意到有一个奇怪的域(比如说 www.strange-domain.com )也指向我的专用IP地址(173.201.. )。也就是说,除了我自己的域(比如,www.my-domain.com),这个新的奇怪域还可以访问我的站点(我的应用程序)的每个部分,包括管理区!我真的不希望发生这种事情,因为就 SEO 而言,搜索引擎可能会认为两个域指向同一个站点是一种作弊。
所以我联系了godaddy,他们说他们不能做任何事情来阻止某人将他自己的域指向我的专用IP地址。我认为这是真的,是的,这取决于域所有者。现在,我需要实现一种机制,可以在访问者不知情的情况下将那个陌生域的所有请求重定向到我自己的域。也就是说:如果访问者正在请求 www.strange-domain.com/some/path/to/page ,那么 如果这不能,他将被重定向到www.my-domain.com/some/path/to/page完成后,至少应将访问者重定向到我的域主页:www.strange-domain.com
我知道这可能是通过 IIS url 重写来完成的。我试过但失败了。我真的不擅长这样做。所以你可以通过给我一个详细的实现来帮助我吗?
另外,由于我的网站是由 .NET MVC3 驱动的,如果 url 重写不起作用,我想知道我是否可以使用一些 .NET MVC3 功能来做到这一点,例如路由系统,Global.asax .... 如果两者都可以做到这一点,哪个是首选,为什么:)这么多问题,提前谢谢大家!:)
update1: 现在,我有以下重写规则。
<rewrite>
<rules>
<rule name="Redirects to www.my-domain.com" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^www.my-domain.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.my-domain.com/{R:0}" />
</rule>
</rules>
我认为它现在正在生效,因为对 my-domain.com(没有 www 前缀)和奇怪的 domain.com(也没有 wwww)的请求现在都出现以下错误:
你能给我其他的想法吗?谢谢你 !