1

我在 IIS7 下有一个网站,将所有子域都捕获为 *.mydomain.com,但有些网站会随机化子域,例如:

  • www2.mydomain.com
  • wwwmydomain.com
  • etc.mydomain.com

任何子域都可以完美地加载我的 MVC 页面,但是 google 索引会使 url 加倍,因为有两个不同的 url。

我会使用 global.asax 将任何子域永久“301”重定向到 www.mydomain.com,保留 url 和查询字符串。例如

  • www2.mydomain.com/Controller/Action/ID?query=asb TO www.mydomain.com/Controller/Action/ID?query=asb

  • wwwmydomain.com/Controller/Action/ID?query=asb TO www.mydomain.com/Controller/Action/ID?query=asb

我不想使用 IIS7 重定向,因为我将使用 C# 自定义不应该重定向哪些子域。

我不喜欢为所有控制器创建页面库。

4

1 回答 1

4

假设您使用的是 IIS,您应该能够使用 ARR 来实现这一点。

例子:

<rule name="SubDomain" stopProcessing="false">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^(?!www)(\w+)\.mine\.co\.uk$" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}/{R:1}" />
</rule>  

参考:http ://forums.iis.net/p/1155754/1895646.aspx

于 2012-09-11T15:24:48.377 回答