什么是301重定向?

重定向

重定向是将一个URL转发到另一个URL的过程。

什么是重定向?

重定向是一种将用户和搜索引擎发送到不同于他们最初请求的URL的方法。三种最常用的重定向是301、302和Meta Refresh。

重定向类型

  • 301,“永久移动” —建议用于SEO
  • 302,“找到”或“临时移动”
  • Meta Refresh

301永久移动

301重定向是一种永久重定向,它将90%至99%的链接权益(分级能力)传递到重定向页面。301指的是这种重定向类型的HTTP状态代码。在大多数情况下,301重定向是在网站上实施重定向的最佳方法。

找到302(HTTP 1.1)/临时移动(HTTP 1.0)

Google的一些员工表示,在某些情况下301和302可能会被类似地对待,但是我们的证据表明,确保所有类型的搜索引擎和浏览器获得最大信誉的最安全方法是在永久重定向URL时使用301。互联网基于称为超文本传输协议(HTTP)的协议运行,该协议决定了URL的工作方式。它有两个主要版本:1.0和1.1。在第一版本中,302引用状态代码“临时移动”。在1.1版中将其更改为“找到”。

307临时移动(仅HTTP 1.1)

307重定向是302重定向的HTTP 1.1后续版本。尽管主要爬虫在某些情况下会将其视为302,但最好在几乎所有情况下都使用301。唯一的例外是当内容仅在临时(例如在维护期间)移动且服务器已被搜索引擎标识为与1.1兼容时。由于基本上不可能确定搜索引擎是否已将页面识别为兼容页面,因此通常最好对临时移动的内容使用302重定向。

Meta Refresh

Meta Refresh是一种在页面级别而不是服务器级别执行的重定向。它们通常较慢,因此不建议使用SEO技术。它们通常与五秒钟的倒计时相关联,文字为“如果知识兔五秒钟内您没有被重定向,请单击此处”。Meta Refresh确实会通过一些链接权益,但是由于可用性差和所通过的链接权益的损失,因此不建议将其作为SEO策略。

SEO最佳实践

通常将一个URL重定向到另一个URL。这样做时,必须遵循最佳实践,知识兔以保持SEO价值。

第一个常见示例是在一个简单的场景下发生的:需要永久重定向到另一个地址的URL。

redirect-illustration-1.gif?mtime = 20170104131455#asset:2291:urlhttp: //seozhishitu.cn/至:http:// www.seozhishitu.cn /

重定向:
http: //mail.seozhishitu.cn/至:http:// www.seozhishitu.cn

重定向:http
: www.seozhishitu.cn/somefile …

http:// ##### replaceparse27 #### … class =“ bottom0”>解决方案

添加以下指令:

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

说明

该指令告诉apache检查访问者正在访问的主机,如果知识兔不等于www.seozhishitu.cn,则重定向到www.seozhishitu.cn。www.seozhishitu.cn前面的感叹号(!)取消了比较,并说:“如果知识兔主机不是www.seozhishitu.cn,则执行RewriteRule。” 在我们的例子中,RewriteRule将它们重定向到www.seozhishitu.cn,同时保留它们在向后引用中访问的确切文件。

在不保留文件名的情况下重定向

旧服务器上存在的几个文件在新服务器上不再存在。旧文件需要重定向到新域的根URL,而不是保留重定向中的文件名(这将导致在新服务器上出现404 not found错误)。

重定向:http:// www.socengine.com/seo/ s …
收件人:http:// www.seozhishitu.cn /

解:

添加以下指令:

 RedirectMatch 301 /seo/someoldfile.php http://www.seozhishitu.cn 解释:

省略任何括号,对/seo/someoldfile.php的所有请求都应该重定向到

​重定向GET字符串

一些PHP脚本具有不同的名称,但GET字符串保持不变。开发人员需要在保留这些GET字符串的同时将访问者重定向到新的PHP脚本。GET字符串是URL中文件名之后的一组字符,知识兔用于将数据传递到网页。在URL中的GET字符串的一个例子/myfile.php?this=that&foo=bar是?this=that&foo=bar.

重定向:http:// www.socengine.com/seo/ c …
收件人:http:// ##### replaceparse37 #### … class =“ bottom0”>解决方案:

添加以下指令:

 RedirectMatch 301 /seo/categorydetail.php(.*)http://www.seozhishitu.cn/artcat.p … class =“ bottom0”>解释:

正则表达式(。*)再次告诉apache匹配任何零个或多个字符,并将其保存为后向引用$ 1。由于/seo/categorydetail.php之后有一个$ 1,它将立即将get字符串重定向到这个新的PHP文件。

更改文件扩展名时重定向

在原始方案中,旧服务器上有一个混合HTML和PHP的文件文件夹。在新服务器上,这些文件都是PHP,并且知识兔需要重定向逻辑才能将旧的URL更改为此新扩展名。

重定向:http:// www.socengine.com/seo/ g …
收件人:http:// www.seozhishitu.cn / articles …

重定向:http:// www.socengine.com/seo/ g …
收件人:http:// ##### replaceparse41 #### … class =“ bottom0”>解决方案:

添加以下指令:

 RedirectMatch 301 /seo/guide/(.*).(php|html)http://www.seozhishitu.cn/articles … class =“ bottom0”>解释:

(*.)匹配任何字符中的零个或多个,并将其保存为后引用$1。(php | html)告诉apache匹配后跟“php”或“html”的句点,并将其保存为后引用$2(尽管在本例中未使用)。注意带反斜杠的转义句点。这是为了确保apache不会将句点解释为“任何字符”的意思,而是将其解释为实际的句点。将“php”和“html”括在圆括号中,并用一个管道“|”字符将它们分隔,意味着匹配其中一个值。所以如果知识兔说(php | html | css | js | jpg | gif),regex将匹配任何扩展名为php、html、css、js、jpg或gif的文件。

结论

通过利用mod_rewrite和一些正则表达式的强大功能,原始开发人员开发了一套用于重定向网页的简单规则。通过使用301重定向,他们以对搜索引擎友好的方式进行了此操作。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论