我需要在用户输入不带非www的网址时重定向我的网站,并且应该使用www重定向。
实施例: abc.com到www.abc.com
我也需要支持子域名。
实施例: abc.xyz.com到www.abc.xyz.com
答案 0 :(得分:1)
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<rewrite>
<rules>
<rule name="non-www to www" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^[^\.]+\.[^\.]+$" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
答案 1 :(得分:1)
您还可以在全局Applicaton_BeginRequest
:
string url = HttpContext.Current.Request.RawUrl;
if (!url.StartsWith("www.")) {
Response.Redirect("www." + url);
}
修改:This question显示Response.Redirect返回302。
当有人在那里回答时,Response.RedirectPermament
可以与.NET 4.0
一起使用,这将返回301。
奇怪的是。我在Response.Redirect
的某个网站上使用了.NET 4.0
,它返回301
就好了。