重定向http://example.com到http://www.example.com.

本文关键字:com http example www 重定向 | 更新日期: 2023-09-27 17:54:05

可能重复:
在.net mvc 中将www链接路由到非www链接

嘿,

我希望我的网站只能在www子域上访问。我该怎么做?

我使用的是ASP.NET 3.5、C#、IIS 7,但我在GoDaddy上托管它,所以不能访问IIS,只能使用FTP。

谢谢,Dan

重定向http://example.com到http://www.example.com.

使用Godaddy上提供的重写模块。

您可以从IIS进行设置,也可以在web.config中的<system.webServer>下放置以下内容:

<rewrite>
  <rules>
    <rule name="Canonical" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^([a-z]+[.]com)$" />
      </conditions>
      <action type="Redirect" url="http://www.{C:0}/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

或者,您可以在global.asax.cs:上进行此重定向

protected void Application_BeginRequest(object sender, EventArgs ev)
{
    if (!Request.Url.Host.StartsWith("www", StringComparison.InvariantCultureIgnoreCase))
    {
        Response.Clear();
        Response.AddHeader("Location", 
            String.Format("{0}://www.{1}{2}", Request.Url.Scheme, Request.Url.Host, Request.Url.PathAndQuery)
            );
        Response.StatusCode = 301;
        Response.End();
    }
}

看看ScottGu的这篇博客文章。您必须手动将规则添加到web.config中。

如果您正在运行apache web服务器,请将其添加到.htaccess文件中:

RewriteCond %{http_host} .
RewriteCond %{http_host}!^www'.example'.com [NC]
rewriterule (.*) http://www.example.com/$1 [R=301,L] 
相关文章: