【问题标题】:How to properly make 301 redirect如何正确进行 301 重定向
【发布时间】:2018-07-30 21:27:53
【问题描述】:

我有超过 50 个 html 页面要移动到同一域中的不同文件夹中。

如何正确地为每一个进行 301 重定向?

有人说将重定向放在meta html标签中。赞这个<meta http-equiv="refresh" content="0; url=http://example.com/" />

其他人说要把它放在 .htaccess 文件中,我不确定最好的方法是什么?

我的目标是将旧网址重定向到这些网址,而不会丢失网页在 Google 中的排名。

【问题讨论】:

    标签: html .htaccess redirect http-status-code-301


    【解决方案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

          【讨论】:

          • 谢谢你的文章,我现在明白了。
          猜你喜欢
          • 1970-01-01
          • 2016-07-25
          • 2020-12-17
          • 2015-09-16
          • 2010-12-21
          • 2011-01-20
          • 1970-01-01
          • 2014-08-04
          • 1970-01-01
          相关资源
          最近更新 更多