首页 > 生活百科 > 减肥方法 > [301重定向怎么做]如何做301重定向跳转

[301重定向怎么做]如何做301重定向跳转

时间:2019-02-20   来源:减肥方法   点击:

【www.gbppp.com--减肥方法】

 一、如何做301? 301重定向方法大全

我们在做URL网址标准化时经常要用到301重定向,这里给大家整理了网上的一些301重定向方法,希望对大家有用。

1.apache服务器在.htaccess文件中增加301重定向指令

采用“mod_rewrite”技术,形如:

RewriteEngine on

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

2.适用于使用Unix网络服务器的用户

通过此指令通知搜索引擎的蜘蛛你的站点文件不在此地址下。这是较为常用的办法。

形如:Redirect 301 / http://www.qyc.cc

3.绑定/本地DNS

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

DNS服务器的设置

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

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

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

4.在服务器软件的系统管理员配置区完成301重定向

适用于使用Window网络服务器的用户

5.用ASP/PHP实现301重定向:

ASP:

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”,”http://www.qyc.cc”

Response.End

PHP:

header(“HTTP/1.1 301 Moved Permanently”);

header(“Location:http://www.qyc.cc”);

exit();

说明:把代码加到相关页面就可以了。

简单点评下:对于服务器用户,使用.htaccess最方便。但是特别是国内大部分网民都是使用虚拟主机,这时候可以用第五种办法:用ASP/PHP实现301重定向。大家在使用的时候把我的域名换成你就可以了。

 

 

二、IIS服务器下做301永久重定向设置方法

以前也没怎么关注301重定向,第一因为没有网站要重定向,第二对于不带www的域名我都是用的转发到带www的域名。不过一场风波之后,很多服务商已经不提供转发服务了,虽说易名现在还可以享用到免费的转发服务,但是却不能不带www的转发到带www的同时进行MX记录解析,这对于需要MX解析的朋友也是一大烦恼。

而且有些域名在国外,转发更是用不了,也只能进行301永久重定向了,不然搜索引擎是把不带www的站和带www的站分开对待的,只是我们习惯于用带www的域名罢了。

在网络上看了些教程,再根据自己的实践,也终于搞定了IIS服务器上的301永久重定向设置问题。实现方法如下:

1.新建一个站点,对应目录如E:wwwroot301web。该目录下只需要1个文件,即index.html或者加个404.htm。绑定要跳转的域名,如图:

 

 

2.在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入网址如:http://www.xxxx.com,同时注意选中下面的资源的永久重定向选项。如下图:

 

 

 

3.到此,我们已经完成了将xxxx.com这个域名301重定向到www.xxxx.com的工作。

注意问题:

“上面输入准确的 URL(X)”这个选项建议不要选。

不选的结果是:

当输入xxxx.com转到了www.xxxx.com,

当输入xxxx.com/sanwen/suibi/时,转到了www.xxxx.com/sanwen/suibi/。

选上的结果是:

当你输入xxxx.com或者xxxx.com/sanwen/suibi/都会转到www.xxxx.com。

好了,如果只是想把不带www的转到带www的或者其他没有用过的域名转到正在使用的域名,这样就可以了。但是如果你要的域名已经做过网站,想要把权重传递给新网站,可以参考下面这个方法:

第一步同上,主要是第二步,如图:

 

 

注意红色字体的部分,在重定向到地址的后面多了$S$Q字符,即写成了http://www.xxxx.com$S$Q。“上面输入准确的 URL(X)”这个选项也打了勾。

对于$S$Q字符,这里解释一下:

$S 将请求的URL 的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。

如果未设置 EXACT_DESTINATION 标志,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

$Q 将初始URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。

如果不加上$S$Q字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。

好了,这样就完成了301永久重定向的设置,设置好之后最好能测试下是否返回的是301值,推荐个网址:http://www.seoconsultants.com/tools/headers。

百度对301的反应并不像想象中那么慢,第二天就收录了xxxx.com这个页面,快照最新。当然,快照的内容是www.xxxx.com的内容,而不是301web里index.html的内容。

 

 

三、301重定向怎么进行URL标准化设置?

经常会碰到这样的情况,其他网站链接你的站点时,会用下面的链接:

www.qyc.cc

qyc.cc/

www.qyc.cc/index.html

qyc.cc/index.php

而这样导致:你站点主域名的pr值分散到其他几个URLs了。

如果你用301重定向把其他三个URL转到

qyc.cc

PR也就集中在主域名:www.qyc.cc 了。

301重定向具体办法:

设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)

使访问qyc.cc/的时候就会自动转到www.qyc.cc

在.htaccess文件里写上以下代码即可。

RewriteEngine on

RewriteCond %{http_host} ^mydomain.com [NC]

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

注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。

 

 

四、最全301重定向详细教程

最近两天找了很多301重定向的教程,也研究了很久,最终找出最适合自己的教程,效果还有待验证,茂名网站优化会继续跟踪报道的,结果出来了会第一时间告诉各位。

在这里首先告诉大家的是什么是301重定向,可以去看看301重定向SEO问答:http://www.qyc.cc/ask/question.php?id=22,里面简单的说了一下, 关于301转向和网址绝对化问题,大家可以去阅读下茂名SEO之前写的文章:DEDE如何实现网站绝对地址 是写关于网址绝对化规范化的。

为什么要做网址转向?

当然,我也试过其他的方法,很简单,我只是在网站首页的head标签内,添加这么一行: <link rel=”canonical” href=” http://www.qyc.cc/ask/就没问题了! 目前只针对与谷歌有用,百度暂时没用,不过没关系,相信下一次更新之后,问题就自然解决了。

其实,最好的方法是在空间下做301重定向:

方法1.在Linux+Apache虚拟主机下301重定向代码

在本地建个txt文本,复制以下代码,保存上传到空间根目录,然后改名.htaccess ,就ok!

rewriteEngine on

rewriteCond %{HTTP_HOST} ^zmoneyw.cn [NC]

rewriteRule ^(.*)$ http://www.qyc.cc/$1 [R=301,L]

 

方法2.在windows+IIS虚拟主机下301重定向代码

建个httpd.ini的文件,用记事本打开复制以下代码,上传到空间根目录即可。

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^zmoneyw.cn$

RewriteRule (.*) http://www.qyc.cc$1 [I,R]

 

春风班长:这是ASP 301重定向

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”,”http://www.sjz-banzheng.com/index.html”

Response.End

%>

如下,这是一个apache的301重定向方式。如果是其他服务器,请自行百度或者google,301重定向怎么做

 

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{http_host} ^baidu.com [NC]

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

</IfModule>

 

其他语言下的301重定向:

1、Unix/Linux+Apache主机,在.htaccess

文件中增加301转向指令,采用 mod_rewrite 技术,如:PHP代码

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.qyc.cc [NC]

RewriteRule ^(.*)$ http://piaoyi.org/$1 [L,R=301]

 

2、Window+IIS主机,在服务器软件的系统管理员配置中设置,方法:

打开Internet信息服务管理器,在欲重定向的网页或目录上按右键,选中“重定向到URL”,在对话框中输入目标页面的地址,记得选中“资源的永久重定向”->“应用” 。

 

3、用PHP/ASP .NET实现301转向(HTML无法做301转向),方法如下:

1)用PHP实现

PHP代码

<? Header( “HTTP/1.1 301 Moved Permanently” );

Header( “Location: http://qyc.cc” );?>

 

2)用ASP.NET实现

ASP/Visual Basic代码

<script runat=”server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(“Location”,”http://qyc.cc”);

}

</script>

 

ASP语言下,我们需要在默认首页,如index.asp顶部最上方加入以下代码:

<%

Dim dm,sn

dm=Request.ServerVariables(“Server_name”) ‘获取域名

‘这里的3是指www的长度

if left(dm,3)<>”www” then

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://www.qyc.cc”

Response.End

end if

%>

 

 

 

还有另外一个牛人的方法,不过信宜SEO没有试过,方法如下:

1、编辑根目录下的index.php,在顶部加入以下代码:<?php include(“301.inc.php”); //301 Redirect ?>

2、新建一个 301.inc.php 文件,里面加入以下代码:

<?php

$the_host = $_SERVER["HTTP_HOST"];

$request_uri = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : ”;

if($the_host !== ‘www.diannao8.com.cn’)

{

header(‘HTTP/1.1 301 Moved Permanently’);

header(‘Location: http://www.qyc.cc);

}

 

?>

我们知道,我们一般网站的首页有以下几种:

http://qyc.cc

http://www.qyc.cc

http://qyc.cc/index.html

http://www.qyc.cc/index.php

 

当然,以上各点,这些形式的网站网址,如果在搜索引擎已经启用了这些形式,页面权重,都会分散到这几个网址上,但是,我们有一个网站,高州SEO想要的是把各个网址权重集中到一个网址上,比如作为http://qyc.cc,让这些分散的网页权重,全部集中http://www.qyc.cc,有必要做301永久重定向。下面是以我网站为例,下面是我操作的过程l

 

 

 

 

这个代码只适应于网站首页的301重定向,如果网站已经被收录,或存在大量的非首页外链,要全部定向过来,那就无能为力了。更合适的方法是使用.htaccess来定向,简单快捷,不过高州SEO不懂这个,在此,高州网站优化将PHP网站301重定向方法完全放出,希望能帮到新人,如果有不足之处,也请高手指出,不胜感激。

一、建立一个301.inc.php(文件名自取)

<?php

$the_host = $_SERVER["HTTP_HOST"];//取得进入所输入的域名

$request_uri = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : ”;//判断地址后面部分

if($the_host !== ‘qyc.cc’)//这是我要以前的域名地址

{

header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部

header(‘Location: http://www.qyc.cc’.$request_uri);//跳转到我的新域名地址

}

?>

 

其中if($the_host !== ‘www.qyc.cc’)中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,就可以将以前的域名,包括qyc.cc、www.gcxirang.com以及新域名中我qyc.cc全部重定向到www.qyc.cc。

 

二、在网页文件中调用301.inc.php

<?php include(“301.inc.php”); //301重定向 ?>

将这个代码放到你所有网页的最前面。

本文来源:http://www.gbppp.com/sh/573941/

推荐访问:301重定向怎么做

热门文章