【发布时间】:2012-10-19 09:30:15
【问题描述】:
我有一个托管在 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 .. ..如果两者都可以做到这一点,哪个是首选,为什么:)这么多问题,提前谢谢大家!:)
更新1: 现在,我有以下重写规则。
<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)的请求现在都出现以下错误:
你能给我其他的想法吗?谢谢!
【问题讨论】:
-
如果您无法控制另一个域名并且您担心它,最好为通过该域进入的所有请求返回 404,恕我直言。而且,如果有人将他们的域名指向您的服务器,您为什么要担心 Google 的想法?安全应该是您最关心的问题。
-
是的,我知道。我只是想知道这个安全漏洞的解决方案...你能给我一些建议吗?
-
确保正确配置主机标头。请参阅this link 了解更多信息。
标签: asp.net-mvc-3 iis redirect url-rewriting dns