如何正确设置整站301重定向
的有关信息介绍如下:301重定向又被称为301转向,或301跳转。指的是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。提升网站的权重,是个永久的话题。这里我要说一个细节问题,就是如何在你的虚拟主机、vps/服务器上设置真正的全站301重定向,把xxxx.com下的所有页面301资源重定向到www. xxxx.com 相对应的页面,从而真正实现全站权重集中到www开头域名下的目的,以提升网站权重。
第一种情况,如果你有服务器或者vps,且系统是windows系统的。
在iis下,可以很简单的设置实现全站重定向 。
具体方法是:在VPS里把www.xxxx.com 域名的网站搭建好以后,按照同样的方式搭建一个xxxx.com的网站。然后打开“iis”。在XXXX.com的网站上鼠标右键打开选择属性,选择“主目录”标签,然后按照这个图设置
第二种情况,如果你的系统是Linux的。
做整站301跳转,很简单。如下修改文件httpd.conf或者.htaccess文件保存就可以了:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxxx.com [NC]
RewriteRule ^(.*)$ http://www.xxxx.com/$1 [L,R=301]
第三种情况,如果你是虚拟主机用户,如果你有子目录,恭喜你,也可以整站301重定向。具体方法是:
1.新建404.asp,把下面代码放到新建的404文件中保存。
代码
<%@ Language=VBscript %>
<%
Dim PageURL
PageURL=“http://”&Request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") &"?"&Request.ServerVariables("QUERY_STRING")
PageURL = Replace(PageURL, “http://xxxx.com/404.asp?404";http://xxxx.com:80,"") //修改为你的老域名
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", “http://www.xxxx.com”&PageURL&"" //修改为你的域名
%><%@ language="VBscript">
<%@ language="VBscript">
2.新建index.asp,把下面代码放到新建的ind文件中保存。
代码
<%@ Language=VBscript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.xxxx.com/"//修改为你的域名。
%><%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.xxxx.com/"//修改为你的域名。
%>
3.用ftp在网站根目录新建文件夹名为301,把上面的index.asp和404.asp上传进去。然后打开虚拟主机控制面板,添加子目录,把域名xxxx.com绑定到301文件夹 ,绑定后设置所属404页面为404.asp:
第四种情况,如果你是虚拟主机用户且你没有子目录,缺银子呗,呵呵,也是可以整站301的,具体方法是:
在网站根目录http.ini文件中,添加如下代码:
[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32
了http://m.fulinmenst.com/m/products.aspx?TypeId=69&fid=t3:69:3了
RewriteCond Host:^xxxx\.com$
RewriteRule (.*) http\://www\.xxxx\.com$1 [I,RP)
当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。
例如:404错误(页面未找到)或者200 OK(页面成功加载);301(返回301状态码成功)
正确的HTTP状态码:
错误的HTTP状态码: