web.config怎么配置301重定向?
web.config怎么配置301重定向?
我希望 访问不带www的所有网页都 跳转到 带有www的
比如 http://csdn.net/a.html 跳转到 http://www.csdn.net/a.html
web.config里这样设置 报错啊,提示不能识别rules 不能识别rule
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions><add input="{HTTP_HOST}" pattern="^域名.com$" /></conditions>
<action type="Redirect" url="http://www.域名.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
或者 可以在这里设置吗
<rewriter>
<rewrite ... />
</rewriter>
怎么写啊
------解决方案--------------------可以在Global.asax文件的Application_BeginRequest方法里实现
C# code
protected void Application_BeginRequest(object sender, EventArgs e)
{
string authority= HttpContext.Current.Request.Url.Authority;//获取访问网址的主机名
if(!authority.Contains("www"))
{
string localPath= HttpContext.Current.Request.Url.LocalPath;//获取访问的具体页面
string query= HttpContext.Current.Request.Url.Query;//获取访问网址"?"后面的数据
authority="www."+authority;
HttpContext.Current.RewritePath(authority+localPath+query);
}
}
------解决方案--------------------
我错了,原来lz还发了这个帖子。
------解决方案--------------------
楼上的都不是301,web.config只能设置url转发,是无法设置301的。