请选择 进入手机版 | 继续访问电脑版
繁体中文

巅峰霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

nginx iis服务器等网站301跳转代码各种301重定向代码大全

[复制链接]
godkings 发表于 2017-3-1 10:53:34 | 显示全部楼层 |阅读模式

游客只能显示部分内容,请登录后查看帖子完整内容!!!注册完全免费。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

使用 301 重定向将您原来网站上的所有网页永久重定向至新网站。这可以告诉搜索引擎和用户您的网站已永久迁移。是符合搜索引擎友好的,目前最安全的网址域名更换。

网页跳转的目的本来很简单,就是当用户或系统需要时从一个页面转向另一个页面,跳转时的HTTP的状态码一般为200,301,302中的一个,下面先列出各状态码出现的情况,然后再解释各状态码有什么不同:
200 正常状态,未发生任何事,普通页面浏览一般都是200  
301 永久性转移(Permanently Moved),SEO必用的招式,会把旧页面的PR等信息转移到新页面  
302 暂时性转移(Temporarily Moved),很常用的招式,也是SEO最容易被判作弊的方式  

状态码200的跳转:
1. <meta http-equiv="refresh" content="3; URL=default.aspx" />
2. Server.Transfer("default.aspx");
3. URLRewrite--严格来说,这个不算是跳转,只是一种URL“欺骗”
4. <a>--不知道我把这个标签也列为一种跳转会不会有人有意见  

状态302的跳转:
Response.Redirect("default.aspx");  

状态301和的跳转: Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", http://www.dfbazhu.com);  

对于用户来说,各个跳转都差不很多,都可以达到目的。但对于SEO来说,这些差得很远,状态200第三条使用合适对SEO有很大好处,但状态200的第一条和状态302却基本没有一点益处,然后很可惜,302跳转被用到了满大街。

很久很久以前,那时候搜索引擎还 很傻,好多人利用meta refresh来获得强大的SEO效果,后来直接被搜索引擎给干掉了。再后有很多人开始用302做跳板,后来也被干掉了,比如 那两个著名的案例:Business.com和BMW。欺骗搜索引擎,后果很严重。所以现在很少有人在跳转上做SEO,但是有些不可避免的跳转还是要继续 存在着,如何防止这些跳转起到负面影响呢?于是有人研究了301跳转。

顺便提下那个404,好多网站在出错时都会有一个自定义的错误 页面,但很可惜也有很多人忘记了这个状态码,直接搞个错误页面一般都还是200,搜索引擎会收录这个页面,但很多不同URL的404都跳转到这一个页面 时,会被认为大量重复页,最惨的就是404太多了,被认为站内无效、重复内容过多,所以做自定义错误页面时一定记得返回个404回去。

301跳转代码全集(ASP|PHP|JSP|.NET)

1、IIS下301设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
2、ASP下的301转向代码
  1. <%@ Language=VBScript %>
  2. <%
  3. Response.Status=”301 Moved Permanently”
  4. Response.AddHeader “Location”, “http://www.dfbazhu.com/articles/301/”
  5. %>
复制代码


3、ASP.Net下的301转向代码
  1. <script runat=”server”>
  2. private void Page_Load(object sender, System.EventArgs e)
  3. {
  4. Response.Status = “301 Moved Permanently”;
  5. Response.AddHeader(”Location”,”http://www.dfbazhu.com/articles/301/“);
  6. }
  7. </script>
复制代码


4、PHP下的301转向代码
  1. header(”HTTP/1.1 301 Moved Permanently”);
  2. header(”Location: http://www.dfbazhu.com/articles/301/”);
  3. exit();
复制代码


5、CGI Perl下的301转向代码
  1. $q = new CGI;
  2. print $q->redirect(”http://www.new-url.com/”);
  3. 6、JSP下的301转向代码
  4. <%
  5. response.setStatus(301);
  6. response.setHeader( “Location”, “http://www.dfbazhu.com/” );
  7. response.setHeader( “Connection”, “close” );
  8. %>
复制代码


7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
  4. RewriteRule ^(.*)$ http://www.dfbazhu.com/$1 [L,R=301]
复制代码


2)重定向到新域名
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule ^(.*)$ http://www.dfbazhu.com/$1 [L,R=301]
复制代码


3)使用正则进行301转向,实现伪静态
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule ^news-(.+)\.html$ news.php?id=$1
复制代码

将news.php?id=123这样的地址转向到news-123.html

8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
  1. <VirtualHost *:80>
  2. ServerName www.dfbazhu.com
  3. DocumentRoot /home/lesishu
  4. </VirtualHost>
  5. <VirtualHost *:80>
  6. ServerName lesishu.cn
  7. RedirectMatch permanent ^/(.*) http://www.dfbazhu.com/$1
  8. </VirtualHost>
复制代码

Apache下除了以上2种方法,还有其他配置方法和可选参数
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|巅峰霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与巅峰霸主网无关。

禁止在巅峰霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2018-12-15 03:26 , Processed in 1.078125 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表