当前位置:首页 >> 服务器

IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例)

一、301重定向实施:

我们网站www.b.com原来的域名是a.com,明显差很多,换了域名之后,要做的第一件事自然就是301重定向。 

提醒一点:即使你不是换域名,也应该考虑把“b.com”301重定向至“www.b.com”。 

每个人的环境不一样,因为我们是用云服务器,所以我们实施301重定向相对简单,只要在IIS里直接设置就行了。

但在实施之前,一定要记住:在IIS中为各域名建立独立的站点,做好相应绑定。

比如,你要把“b.com”301重定向到”www.b.com”,就要分别建两个站点,并独立绑定,然后,再在“b.com”的站点上做重定向设置。

下面,是实施步骤

第一步:

选择“HTTP重定向” 

IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例) 

第二步:

1、勾选“将请求重定向到此目标”;2、输入目标域名;3、选择“301永久”即可。如下图:
IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例) 

第三步:

自然是验证一下是否设置成功: 

1、可以通过下面的工具,输入301重定向前的原域名或网址,看下返回的状态码是否是301;http://tool.chinaz.com/pagestatus/

2、输入301重定向前的原域名或网址,设置正确的话,应转到新域名下相应的网页。(我的问题,就出在这里)

二、伪静态后301重定向出错:

问题:

我在这里碰到了问题,我们伪静态后的网址格式是类似这样的,某体检套餐:http://www.b.com/pkg-detail/ok327a455b6ed8c;

结果301后,访问原地址http://www.a.com/pkg-detail/ok327a455b6ed8c;

却全部变成了原动态网址,如“/pkg/detail.aspx?xxxxxxx”,而且参数全乱,虽然页面返回的状态是301,正确的,但内容已经完全错误,或者是空内容,甚至404。

原因:

经过排查,原来,我在建新域名站点时,直接复制了原来的目录。

原站点的内容仍完全保留,而我们伪静态用的是Global方案,这个原站点的Global.aspx文件在作祟;

估计是,访问时,网址已经先被原站点的Global.aspx处理,后再重定向到新站点,又被新站点的Global.aspx处理了一次,故出错。 解决:

解决很简单了: 把原站点的Global.aspx,或者清空文件,只留个web.cnfig,搞定。