如何正确进行 301 重定向
Posted
技术标签:
【中文标题】如何正确进行 301 重定向【英文标题】:How to properly make 301 redirect 【发布时间】:2018-07-30 21:27:53 【问题描述】:我有超过 50 个 html 页面要移动到同一域中的不同文件夹中。
如何正确地为每一个进行 301 重定向?
有人说将重定向放在meta
html标签中。赞这个<meta http-equiv="refresh" content="0; url=http://example.com/" />
其他人说要把它放在 .htaccess 文件中,我不确定最好的方法是什么?
我的目标是将旧网址重定向到这些网址,而不会丢失网页在 Google 中的排名。
【问题讨论】:
【参考方案1】:重定向 301 /pagename.php http://www.testdomain.com/pagename.html
注意:旧路径只添加页面名称,新路径添加域名
【讨论】:
【参考方案2】:如果你想要完全匹配:
redirectMatch 301 /old /new
【讨论】:
【参考方案3】:在大多数情况下,301 重定向是在网站上实现重定向的最佳方式。使用元刷新不会让阅读实体(Google、浏览器或其他)知道它是永久性的,因此会对 SEO 产生负面影响。
301 重定向本质上意味着“永久移动”作为 HTTP 状态代码,并将被识别用于 SEO 目的。
在 .htaccess 文件中实现这一点是最有效的方法,因为这一切都在一个地方完成,不需要对所有单个文件(在您的情况下为 50 个)进行潜在的编辑。
将其作为 .htaccess 文件中的一个简单列表:
RewriteEngine on
Redirect 301 /oldfolder/file1.html /newfolder/file1.html
Redirect 301 /oldfolder/file2.html /newfolder/file2.html
或者,如果所有文件都位于一个文件夹中,您可以使用类似于下面的 ReWriteRule,这样可以更快地测试和实施:
RewriteEngine on
RewriteRule ^oldfolder/(.*)$ /newfolder/$1 [R=301,NC,L]
供参考: R=301 告诉搜索引擎重定向是永久的 NC 告诉引擎不要关心规则中的字符 L 告诉 Apache 这是最后一条规则,将避免解析/循环等
【讨论】:
【参考方案4】:元刷新重定向与 301 重定向不同。 我也建议你不要使用它,它甚至会对你的谷歌排名产生负面影响。请使用.htaccess
有关重定向的更多信息,请read this
【讨论】:
谢谢你的文章,我现在明白了。以上是关于如何正确进行 301 重定向的主要内容,如果未能解决你的问题,请参考以下文章