• 学习SEO

什么是重定向

  • Felix Rose-Collins
  • 1 min read

介绍

重定向是一种将用户和搜索引擎从一个链接的锚点发送到不同的URL的方法。有三种主要的重定向方法经常使用。最常用的重定向列在下面。

永久移动页面(301)

这种重定向是一种永久性的移动,将90-99%的所有链接汁液传递给被重定向的页面。代码301指的是重定向的一个HTTP状态代码。301 HTTP状态代码是永久性移动的网站重定向的首选方法。

发现/暂时移动(302)(HTP 1.1 / HTTP 1.0)

代码302是一种临时性的重定向。它不会将任何链接汁液传递到新的位置。这种重定向在大多数情况下不是理想的解决方案。在超文本传输协议(HTTP)上运行,它向链接提供了关于它应该如何表现的指示。最初,代码302被认为是一个临时页面,但这改变为在1.1版本中发现的意思。

暂时移动(307)(HTTP 1.1。)

307重定向是302重定向的HTTP 1.1的二级步骤。例外情况是当内容因网站维护而被移动,并且服务器已经准备好。一些主要的引擎使用爬虫将代码307视为代码301,所以在大多数情况下,这不是一个有利的选择。对于一个已经被移动的页面,代码302仍然是更好的选择,以后将被放回它的典型格式。

元刷新

这是一种重定向,发生在页面层面而不是服务器层面。这不是一个广泛推荐的SEO技术,因为它比较慢,而且通常不与稳定性相关。元刷新通常与一个伴有文字的倒计时有关。通常有一条消息说,如果你在5秒钟内没有被重定向,那么就手动点击链接。元刷新将传递一些链接汁液,但仍然不是最佳的重定向选择。

顶级SEO战术。重定向

为了保持你的网站的优化价值,当务之急是让重定向的流量真正到达正确的地方。监测最佳做法和对其他网站有效的做法是建立一个明星网站的理想策略。重定向在数字界并不是一种罕见的做法,它是很常见的。一个常见的重定向情况是对于需要永远移动到另一个地址的URL。许多重定向代码将在能力上发挥作用,但301重定向是性能的首选方法。

301重定向告诉搜索引擎和浏览器,有关的页面已经被永久地移动了。这被进一步解释为,除了页面改变位置外,内容和任何更新都可以在这个新页面上找到。如果爬虫是网站的非经常性访问者,这个过程将需要更长的时间。其他重定向代码在大多数情况下是不利的选择,因为排名传递的效果不好。唯一被认为是积极的选择的时候,除了代码301之外,选择其中一个重定向是如果页面设计者不关心失去链接汁。当一个网站得到一个新的域名或内容移动到另一个地方时,内容转移变得很困难。

Apache的301样本问题

###问题

第一次启动的网站是托管在另一台服务器上,而不是在一个主域上。当把网站转移到它的新家和专用服务器时,重要的是不要把新网站创建为主机网站的子目录。重定向需要容纳许多文件和文件夹名称,并对代码301进行修改,以利于搜索引擎的准备。

###解决方案

最简单的修正是在PHP代码中加入301重定向,以利用Apache的功能。

安装

为了使其发挥作用,服务器应该安装了Apache。向你的开发者查询,看看Apache是否默认安装。开发者将通过在配置文件中添加一行来检查安装情况。

###上下文

重写模块在两种情况下工作,即每个服务器和每个目录。per-server上下文要求编辑apache文件。每目录文件则使用htaccess文件。

正则表达式(regexes)是一个字符串,在一个集合中匹配其他字符串。有一定的语法规则适用,该程序被文本编辑器用来处理有关模式的文本体。这是一个需要掌握的价值技能,它可以用来重定向URL。

下面是regex中使用的字符和运算符的列表。

句号 - 匹配它被分配的任何东西 星号 - 匹配被分配的零到多的字符 加号 - 匹配主字符前后的字符 小括号 - 这是一个被包围的值,作为一个回参考来存储一个变量,以便以后使用。值1和值2 - 当两个以上的值被锁定在括号内时。

在域之间重定向文件和文件夹

一个新开发的网站需要从一个旧的服务器重定向到一个新的服务器,同时保留所有的文件名。

重定向的例子

http://www.xyzabc.com/seo/somefile.php 到:/somefile/.php   

解决方法。在xyzabc.com服务器上的相应文件中添加必要的指令。

Redirectmatch 301 / seo/ (.*)/$1   

###解释

这个重定向词。/seo/(.*)让apache知道要匹配SEO文件夹。小括号告诉Apache保存这个字符串作为参考。

重定向规范的主机名

一个网站开发人员需要重定向所有不以www.xyzabc.com 开始的请求。这样做是为了确保他们不会遇到任何规范化的错误。

重定向:http://xyzabc.com 到:http://www.xyzabc.com  
重定向: http://mail.xyzabc.com/ 到: http://www.xyzabc.com 
重定向: http://xyzabc.com/somefile.php 到: http://www.xyzabc.com/somefile.php   

解决办法。添加适当的指令

RewriteCond %{HTTP_HOST} *!*! ^www*.xyzabc.com/.org [NC] RewriteRule (.*) http://www.xyzabc.com/$1 [L,R=301]   

解释

Apache通过该指令得知主机需要检查,访问者正在访问,并让程序知道,如果URL不等于设定的条件,就会重定向到新的网站。

免费试用Ranktracker