嗨,
我希望我的网站只能在www子域上访问。 我该怎么办?
我正在使用ASP .NET 3.5,C#,IIS 7,但我在GoDaddy上托管它,因此无法访问IIS,只需FTP。
谢谢, 丹
答案 0 :(得分:2)
使用Godaddy上提供的rewrite module。
您可以从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>
下:
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();
}
}
或者,您可以在global.asax.cs上进行此重定向:
{{1}}
答案 1 :(得分:0)
看看this blog post by ScottGu。您必须手动将规则添加到web.config。
答案 2 :(得分:0)
如果您正在运行Apache Web服务器,请将其添加到.htaccess文件中:
RewriteCond %{http_host} .
RewriteCond %{http_host}!^www\.example\.com [NC]
rewriterule (.*) http://www.example.com/$1 [R=301,L]