友情链接平台须知投稿
友情链接查询:
登录注册

当前位置:首页 > SEO优化 > 301重定向

301重定向

2017-06-05 12:04:06  来源:互联网  浏览:

301重定向即页面永久性移走,是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

301重定向的作用

301重定向的作用有很多,平时站长在做301重定向的时候,一是为了URL规范化并集中权重不让权重分散、二是为了网站改版,将旧版本的页面的所有指标全部转移到新版本的页面上。而实施301重定向可以做到这些,在作用上也是非常的强大,也建议中小企业的站长有效的利用301重定向给网站带来的作用。

301重定向怎么做

一、虚拟主机

Linux虚拟主机设置301跳转方法:

在本地新建一个文本文件,最好用的专业的编辑器软件如EditPlus,将以下代码粘入

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]

说明:上述规则是将站点所以访问域名都重定向到www.abc.com(规则中的域名请修改为自己的域名),如果仅想将绑定在站点上某个域名(如:www.slink8.com)重定向到www.abc.com,规则如下:

RewriteCond %{HTTP_HOST} ^www.slink8.com$ [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]

如果有多种需求,

如abc.com跳转到www.abc.com,

slink8.com跳转到www.slink8.com,

规则如下:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^abc.com$ [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^slink8.com$ [NC]

RewriteRule ^(.*)$ http://www.slink8.com/$1 [R=301,L]

根据自己的需要进行添加修改,然后上传到服务器wwwroot目录,改名为.htaccess即可

win虚拟主机设置301跳转方法:

手动设置的(没有自动生成)

1、进入主机控制面板,进入ISAPI筛选器设置,点击"开启自定义URL静态化支持"按钮。

2、待开启伪静态功能后,进入FTP文件管理,找到\others\discuz\httpd.conf 修改这里面的规则。

3、示例代码:

RewriteCond %{HTTP:Host} ^abc.com$

RewriteRule (.*) http://www.abc.com$1 [NC,R=301]

#第一条表示要做跳转的域名,第二条表示要跳转到的域名

#如果有很多域名要做跳转,那么可以将第一条规则改为

RewriteCond %{HTTP:Host} !^www.abc.com$

这样,就表示非www.abc.com的域名访问都会跳转到www.abc.com #多个域名做跳转的第二种方法是,首先复制多个 RewriteCond 项,将域名改好 除了最后一项,其余的 RewriteCond 项最后都要加个参数 [OR]即可。

注意:现在很多虚拟主机都自带301的配置,可以在主机控制面板上生成代码信息,然后按照上面的提示进行301重定向。

二、Win独立服务301设置(IIS服务器实现301重定向)

打开IIS,右键-属性-网站-IP地址那里点编辑增加一个站点,然后绑定一下主机头,也可以绑定更多的闲置域名。如图所示:

Win独立服务301设置(IIS服务器实现301重定向)一

打开IIS,首先新建立一个站点,随便对应一个目录E:\wwwroot\301web。该目录下只需要2个文件,一个 default.html,一个404.htm。在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选 中“资源的永久重定向”;当然,最后要点击“应用”,完成。如下图所示:

Win独立服务301设置(IIS服务器实现301重定向)二

注意:win2003跟win2008都是使用IIS服务器,所以301重定向的步骤方法是一样的。

三:Linux独立服务器301设置(红帽企业版、centos)

我用的是红帽企业版,用的是源码包装的Web环境。然后我进入Linux服务器,找到apache的主配置文件 httpd.conf , 我的apache服务器下有多个虚拟主机,我找到我要做301重定向的虚拟主机,然后添加如何的代码(代码是完整的):

1、进入Linux服务器,然后找到httpd.conf的Apache 主配置文件,下图红色框是我所在的完整位置,蓝色框是内容,也就是命令pwd现实所在位置,ls查询当前位置的内容。

Linux独立服务器301设置(红帽企业版、centos)

既然找到主配置文件了,我们通过命令vi httpd.conf 编辑一下,在最后添加如下完整的代码。要找到配置的那个虚拟主机然后添加代码, 不要乱添加。

注意:不同形式安装的apache 其路径是不同的,有源码包、有YUM等安装方式,两种马路是不一样的,建议新手联系空间商并实施301重定向。

四:绑定/本地DNS

如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

五:DNS服务器的设置

若要将blog.abc.com指向www.abc.com,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.abc.com。

如需配置大量的虚拟域名,则可写成:* IN CNAME www.abc.com.

这样就可将所有未设置的以abc.com结尾的记录全部重定向到www.abc.com上。


301重定向代码

1、PHP 301重定向代码

<?php 

$the_host = $_SERVER['HTTP_HOST'];

$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';

$the_url = strtolower($the_url);

if($the_url=="/index.php")

{

$the_url="/";

}

if($the_host !== 'www.slink8.com')

{

header('HTTP/1.1 301 Moved Permanently');

header('Location:http://www.slink8.com/'.$the_url);

}

?>

2、html 301重定向代码

<meta http-equiv="refresh" content="0; url=http://www.slink8.com/">

3、ASP 301重定向代码

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://www.slink8.com/"

Response.End

%>

4、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite): 

RewriteCond %{HTTP_HOST} ^slink8.com [NC] 

RewriteRule ^(.*)$ http://www.slink8.com/$1 [L,R=301] 

5、http.ini伪静态规则

是最让人头疼的,因为有三个版本的伪静态规则:

ISAPI_Rewrite 1.X,ISAPI_Rewrite2.X,ISAPI_Rewrite 3.x总共三个版本.

选择适合自己的。代码如下。

ISAPI_Rewrite 1.X的代码如下:

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^slink8.com$

RewriteRule (.*) http://www.slink8.com/ [R,I]

ISAPI_Rewrite 2.X的代码如下:

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^slink8.com$

RewriteRule (.*) http://www.slink8.com/$1 [I,RP]

ISAPI_Rewrite 3.X的代码如下:

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^slink8.com$

RewriteRule (.*) http://www.slink8.com/$1 [NC,R=301]

本文由速链吧友情链接平台为您整理发布,若涉及版权问题,请原作者联系我们处理!