0

如果有网站 myws.com,如果我请求 myws.com 或 www.myws.com,我将看到相同的网站

我想要的是在请求“myws.com”时被重定向到“www.myws.com”

谢谢

4

2 回答 2

0

有很多方法可以实现 www 子域的规范重定向,如果您使用的是 ASP.NET 4.0,您可以这样做:

if (!Request.Url.Host.ToUpper().Contains("WWW"))
{
  Response.RedirectPermanent("http://www.myws.com/" + Request.Url.PathAndQuery, true);
}

你也可以使用IIS URL Rewrite 模块,一旦你安装了它,将它添加到你的 web.config 文件中:

<rewrite>
  <rules>
    <rule name="WWW Canonical Redirect" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^myws.com$" />
      </conditions>
      <action type="Redirect" url="http://www.myws.com/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
于 2012-07-08T16:37:57.347 回答
0

如果您有权访问 IIS,则可以使用 URL 重写将流量从 myws.com 永久重定向到 www.myws.com。按照本教程:http ://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx进行 URL 重写。

如果您无权访问 IIS,则可以在 Application_BeginRequest 事件中将以下代码添加到 global.asax.vb 中:

If Request.Url.Authority.ToString <> "www.myws.com" Then
    Response.RedirectPermanent(Request.Url.Scheme.ToString() & "://www.myws.com" & Request.Url.AbsolutePath.ToString())
End If
于 2012-07-08T16:38:50.317 回答