以正确的方式进行页面重定向

当您删除过时的页面或将您的网站移动到新域时,重定向网页请求很有用。与其向访问者提供网站错误,并诱使他们离开您的网站,不如确保他们被重定向到您网站上的某个页面。 有几种方法可以做到这一点。在大多数情况下,我们建议使用服务器端 301 重定向,但也有一种使用 HTML 的方法可以在紧要关头使用,尤其是当您没有完全的服务器访问权限时。 HTML 元重定向 HTML 元元素可用于在指定秒数后将用户重定向到另一个页面。 将以下内容放在
标记中: 在“内容”字段中,第一个数字指定重定向所需的秒数,“0”表示立即重定向。如果您想让访问者知道某个页面或站点已被删除,并且他们正在被重定向到另一个位置,那么延迟可能会有所帮助。 但是有很多理由可以避免 HTML 元重定向。它们对于维护搜索引擎排名并不是特别好。他们还经常破坏“返回”按钮,因此当用户试图返回时,它会触发刷新,将它们发送回原始页面。此外,它可能不适用于所有用户代理,例如根据 W3C 的屏幕阅读器软件。 服务器端 301 重定向脚本 服务器端脚本或配置文件可以发送适当的重定向状态代码(例如,“301”表示页面已永久移动到新位置),并且位置标头指定另一个用于重定向的 URL。当浏览器收到此响应时,地址栏会发生变化,并且浏览器会使用新 URL 发出请求。 有几种方法可以进行 301 重定向。 PHP 标头方法 在 PHP 中,开发人员可以使用 header 方法发送原始 HTTP 标头。下面的代码发送一个 301 状态代码和一个新位置。如果没有显式设置状态,它会发送一个 302 状态代码,它基本上指定它是一个临时重定向,并且新路径不会缓存在访问者的浏览器中。 示例代码: 请务必注意,必须在发送任何实际输出以使重定向工作之前调用 header() 函数。 您还可以使用 PHP 作为编程语言的强大功能来自动重定向页面,例如在您的网站上找不到的页面。对于这种特殊情况,SitePoint 提供了有关创建 PHP 脚本的教程,该脚本将站点访问者发送到正确的页面或类似内容。 Apache 重定向方法 如果您有权更改 Apache 服务器上的 .htaccess 文件,则可以执行简单的 Apache 重定向。您需要找到 .htaccess 文件并在文本或代码编辑器中打开它。 您将使用以下基本语法进行重定向: 重定向 [status] URL 路径 URL 示例代码: 重定向 301 /oldPage.html http://www.example.com/newPage.html 在“301”之后,指定要重定向的文件或文件夹,然后指定目的地。 对于更详细的 Apache 重定向,您可能需要研究如何进行 URL 重写。 Apache 还提供了常见重写方案的指南。 其他语言 W3 在其在线文档中描述了如何在 Java Servlet 或 JavaServer Pages (JSP) 以及在 Active Server Page (ASP) 中使用 VBScript 进行服务器重定向。并且 301 重定向可以用其他语言完成,例如 Ruby on Rails。 关于保持搜索引擎友好的注意事项 在为搜索引擎优化页面方面,谷歌表示 301 重定向是确保用户和搜索引擎被引导到正确页面的最佳方式。他们从该链接捕获其重定向到的页面的预期流量。 根据 Google 的 Matt Cutts 的说法,您可以在一个页面和另一个页面之间进行多少次 301(或永久)重定向是没有限制的。但是多次重定向(即从第 1 页跳转到第 2 页再到第 3 页等)可能会导致 Google 爬虫在几次跳转后放弃,并且还会增加整体页面加载时间。 Cutts 建议将重定向限制在最多大约 4 或 5 个跃点。 重定向通过多个不同 URL 访问您网站的人,例如,. http://example.com/home 和 http://home.example.com 到首选(或“规范”)目的地,那么您还可以在 Google 网站管理员工具中设置首选域。 结论 页面重定向可以将访问者发送到最新的资源,但也可以在某些情况下提供帮助,例如,有人发送了不正确的链接 URL。仅出于这些原因,页面重定向就很常见。当需要重定向页面时,最好使用服务器端 301 重定向,因为它们不太可能混淆用户和搜索引擎爬虫。