重定向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
使用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]