页面永久性移走(301重定向)是一种很重要的“自己主动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向站点server发出浏览请求时。server返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到还有一个地址。
域名定向
在我们站点建设中,时常会遇到须要网页重定向的情况:像站点调整,改变了站点的文件夹结构,网页被移到一个新地址。或者网页扩展名改变,如因应用须要把.php改成.Html或.shtml。在这些情况下,假设不做重定向,则用户收藏夹或搜索引擎数据库中旧地址仅仅能让訪问客户得到一个404页面错误信息,訪问流量白白丧失。又比方某些注冊了多个域名的站点,也须要通过重定向让訪问这些域名的用户自己主动跳转到主站点。等等。
方式介绍
经常使用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
301 redirect::301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,仅仅要不是临时搬移的情况,都建议使用301来做转址。
302 redirect::302代表临时性转移(Temporarily Moved ),在前些年。不少Black Hat SEO曾广泛应用这项技术作弊。各大主要搜索引擎均加强了打击力度,像Google对BMW德国站点的惩处。
即使站点客观上不是spam。也非常easy被搜寻引擎误判为spam而遭到惩处。
meta fresh: 这在2000年前比較流行。它详细是通过网页中的meta指令。在特定时间后重定向到新的网页,假设延迟的时间太短(约5秒之内),会被推断为spam。
IISserver实现301重定向
* 打开internet信息服务管理器,在欲重定向的网页或文件夹上按右键
IIS6.0上面301重定向图
,选择“重定向到URL”。
* 此处以重定向到百度为例
* 在“重定向到”输入框中输入要跳转到的目标网页的URL地址
* 选中“资源的永久重定向”(切记)
* 最后点击“应用”
Apacheserver实现301重定向
相比較来说,Apache实现起来要比IIS简单多了。
在Apache中。有个非常关键的文件.htaccess。通过对它的设置,能够实现非常多强大的功能,301重定向仅仅是当中之中的一个。
redirect permanent /index.php http://www/index.php?go=category_6(将网页index.php重定向到http://www./index.php?go=category_6)
通过合理地配置重定向參数中的正則表達式。能够实现更复杂的匹配。有兴趣的朋友可參考本站Apache手冊。
PHP下的301重定向
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www" );
exit;
?
>
<html>
<head>
<title>HTTP/1.1 301 Moved Permanently</title>
</head>
<body>
HTTP/1.1 301 Moved Permanently
</body>
</html>
ASP下的301重定向
<%@ Language=VBScript %>
<%
- Status="301 Moved Permanently"
- AddHeader "Location","http://"
%>
ASP .NET下的301重定向
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
- Status = "301 Moved Permanently";
- AddHeader ("Location","http://www);
}
</script>
ColdFusion下的301重定向
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www."> 旧域名重定向到新域名
创建一个.htaccess文件,并将以下提供的代码写入文件内,它能够确保旧域名全部的文件夹或者网页正确的跳转到新域名内。
记住.htaccess文件一定要放在旧站点的根文件夹下,而且新站点要和旧站点保持同样的文件夹结构及网页文件。
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www/$1 [R=301,L]
请将上面的wwwdomaincom改动成你想要跳转到的域名。
此外。我建议大家归总旧网站的外部链接,并联系对应的网站改动导入链链的URL。以指向新网站。
注意:.htaccess文件仅仅有在使用安装有Mod Rewrite模块的Apache作为WEBserver的Linux主机上才干起作用。
域名301重定向到www的二级域名
首先要知道,www.是domaincom域下的一个二级域名。
301跳转到www二级域的实现方式:
创建一个.htaccess文件。并将以下提供的代码写入文件内。它能够确保全部来自对domaincom的请求都转向到对www进行请求。
记住.htaccess文件一定要放在旧站点的根文件夹下。而且新站点要和旧站点保持同样的文件夹结构及网页文件。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ [NC]
RewriteRule ^(.*)$ http://www./$1 [L,R=301]
请将上面的domaincom改动成你想要跳转到的域名。
注意:.htaccess文件仅仅有在使用安装有Mod Rewrite模块的Apache作为WEBserver的Linux主机上才干起作用。
ASP下使用web.config来实现301重定向
假设站点根文件夹没有web.config就新建一个文本文档。保存成web.config就可以。代码例如以下:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^$" />
</conditions>
<action type="Redirect" url="http://www/{R:0}"
redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
将此web.config上传到站点根文件夹就可以。别忘了把上面的domaincom换成你的域名哦!
前提条件是:window主机的IIS版本号必须是7.0或以上的。
在博客中设置301的方法
这里以Z-Blog为例具体介绍一下:
- 复制例如以下代码,将代码中”改成你自己的网址。
if request.ServerVariables("SERVER_NAME")" then
- Status="301 Moved Permanently"
- AddHeader "Location", ""
- End
end if
- 进入Z-Blog后台,打开“文件管理”界面。
- 找到并打开站点根文件夹下的 default.asp 文件。
- 将以上代码加进 default.asp 在下图中红框所看到的位置。
- 5. 最后确定无误点击——提交——保存
1.
站点server响应网页浏览请求的运作流程
让我们先来了解一下用户/搜索引擎和站点一開始的交互流程。
当用户或搜索引擎向一个站点server发出网页浏览请求时。该server将:
- 通过域名server(DNS)将域名转换为站点的IP地址,然后返回给客户;
- 打开一个该IP套接口连接;
- 记下通过该套接口的一个HTTP数据流。
- 从WEBserver接收一个响应请求的HTTP数据流。
该数据流包括状态码。状态码的值由HTTP协议所决定。这里所说的“HTTP数据流”信息也叫“头信息(Header)”。
头信息中包括了日期。server类型,通常还会有一条“200
OK”信息。假设一切良好。那么网络server就会将“200 OK”信息以及请求页面发送出去。假设站点在这时候已经建立了重定向,那么server就会在头信息中包括一个“302 Moved Temporarily”或“301 Moved Permanent”之类的响应信息。搜索引擎会依据server头信息中的内容作出决定。
什么时候用301重定向
1.域名到期了不想续费,想换个域名。
2.在搜索引擎的搜索结果中出现了不带www的域名,而带www的域名缺没有收录,这个时候我们就能够使用301重定向,来告诉搜索引擎我们目标的域名是哪一个。
3.空间server不稳定。换空间的时候。
301重定向和302跳转浸染分解
做站点时我们经常传说传说传闻301和302两种跳转编制。当然仅仅要一个字符分歧但是对于查找引擎而言却有着极大的分歧的处所。
个别我们一个旧的URL弃之不用了,不能就这么放着,而要经过一个跳转。链接到新地址上,一来可以传递权重,而来也可以也许防止这个地址被查找引擎误感触死链接(地址失效)、或是304状态码即长时刻不更新(相应页面还在但长时刻不更新)。
前者对查找引擎来讲无疑是有非常坏影响的,尔后者不做跳转也可没坚苦。
当须要做跳转的时分,有两种可以遴选。
301和302。
非常多人感触二者通用。实在否则。301跳转对查找引擎是一种对比驯良的跳转编制。也是查找引擎可以遭遇的跳转编制,它告诉查找引擎,这个地址弃用了,永远转向一个新地址。
但是302就不不异了。
302是一种且则重定向,我们应当碰着过这样一种表象,畴前经过查找引擎掀开一个小说页面,但是弹出的功效却是一个卖衣裳的商城网页。这是一种非常严重的作弊步履。此刻百度算法升级查找功效中也非常少闪现这种页面了。但是百度却把这类且则重定向算作和劫持跳转不异的步履。
在查找引擎看来这实在是一种作弊。
所以当我们在做页面跳转的时分必然要正视。利用的不可以是302重定向。而是301重定向。
域名到期了不想续费,想换个域名。
2.在搜索引擎的搜索结果中出现了不带www的域名。而带www的域名缺没有收录,这个时候我们就能够使用301重定向。来告诉搜索引擎我们目标的域名是哪一个。
3.空间server不稳定,换空间的时候。
301重定向和302跳转浸染分解
做站点时我们经常传说传说传闻301和302两种跳转编制,当然仅仅要一个字符分歧但是对于查找引擎而言却有着极大的分歧的处所。
个别我们一个旧的URL弃之不用了,不能就这么放着。而要经过一个跳转,链接到新地址上,一来可以传递权重,而来也可以也许防止这个地址被查找引擎误感触死链接(地址失效)、或是304状态码即长时刻不更新(相应页面还在但长时刻不更新)。前者对查找引擎来讲无疑是有非常坏影响的,尔后者不做跳转也可没坚苦。
当须要做跳转的时分,有两种可以遴选。301和302。非常多人感触二者通用,实在否则。301跳转对查找引擎是一种对比驯良的跳转编制,也是查找引擎可以遭遇的跳转编制,它告诉查找引擎,这个地址弃用了。永远转向一个新地址。
但是302就不不异了。
302是一种且则重定向。我们应当碰着过这样一种表象,畴前经过查找引擎掀开一个小说页面,但是弹出的功效却是一个卖衣裳的商城网页。这是一种非常严重的作弊步履。此刻百度算法升级查找功效中也非常少闪现这种页面了,但是百度却把这类且则重定向算作和劫持跳转不异的步履。在查找引擎看来这实在是一种作弊。
所以当我们在做页面跳转的时分必然要正视,利用的不可以是302重定向,而是301重定向。