301 将所有丑陋的永久链接从旧站点重定向到新站点
301 redirect all ugly permalinks from old site to new site
所以前几天我彻底检查了一个完整的网站,并在 google 搜索结果中发现了一些旧页面片段。旧页面有一个丑陋的 link 结构,例如 domain.com/index.php?article_id=123
。新站点使用漂亮的 permalinks 例如 domain.com/pagetitle
.
是否有一段代码可以放入 .htaccess 文件中,以便将所有丑陋的 permalink 重定向到新站点?
编辑
附加信息:旧的 link 已不存在。新旧站点的结构差异很大,并不是所有站点的所有内容都进行了改编。主要问题是我不希望 google 搜索结果中的旧 link 总是向用户抛出 404。
也许是
RedirectMatch ^/index.php?$http://www.example.com/somepage
这会将所有从 index.php 开始的页面重定向到另一个位置
我没有代表对其他答案发表评论,但如果您完全重视您的 SEO,那将是一个非常不合适的解决方案。重定向是您告诉 Google "I've got the same page, I just moved it" 的方式。有一种更好的方法可以做到这一点,它根本不会对您的 SEO 产生负面影响。
您应该创建一些逻辑来将那些旧链接重定向到您的新链接。
以下是您如何操作的示例:
- 在任何逻辑发生之前转到程序的开头。
- 使用代码检索请求的页面。在这种情况下,您可以简单地检查匹配 article_id.
的 GET 变量。
- 如果请求的页面与您的 GET 变量匹配,运行 查询以查看该文章是否存在。 (显然,您仍然想要 404 篇不存在的文章)。
- 检索用于生成新的、更多 SEO-friendly URL 的内容。这大概是文章标题什么的。
- 编写一些代码来生成新的文章标题。此时,如果它工作正常,您应该能够系统打印新的 URL 以确保它是正确的。
- 301 重定向到新的 URL。不要 302 或任何其他号码,301 重定向它。这让搜索引擎知道它是相同的页面和内容,但它已永久移动。
所以前几天我彻底检查了一个完整的网站,并在 google 搜索结果中发现了一些旧页面片段。旧页面有一个丑陋的 link 结构,例如 domain.com/index.php?article_id=123
。新站点使用漂亮的 permalinks 例如 domain.com/pagetitle
.
是否有一段代码可以放入 .htaccess 文件中,以便将所有丑陋的 permalink 重定向到新站点?
编辑
附加信息:旧的 link 已不存在。新旧站点的结构差异很大,并不是所有站点的所有内容都进行了改编。主要问题是我不希望 google 搜索结果中的旧 link 总是向用户抛出 404。
也许是
RedirectMatch ^/index.php?$http://www.example.com/somepage
这会将所有从 index.php 开始的页面重定向到另一个位置
我没有代表对其他答案发表评论,但如果您完全重视您的 SEO,那将是一个非常不合适的解决方案。重定向是您告诉 Google "I've got the same page, I just moved it" 的方式。有一种更好的方法可以做到这一点,它根本不会对您的 SEO 产生负面影响。
您应该创建一些逻辑来将那些旧链接重定向到您的新链接。
以下是您如何操作的示例:
- 在任何逻辑发生之前转到程序的开头。
- 使用代码检索请求的页面。在这种情况下,您可以简单地检查匹配 article_id. 的 GET 变量。
- 如果请求的页面与您的 GET 变量匹配,运行 查询以查看该文章是否存在。 (显然,您仍然想要 404 篇不存在的文章)。
- 检索用于生成新的、更多 SEO-friendly URL 的内容。这大概是文章标题什么的。
- 编写一些代码来生成新的文章标题。此时,如果它工作正常,您应该能够系统打印新的 URL 以确保它是正确的。
- 301 重定向到新的 URL。不要 302 或任何其他号码,301 重定向它。这让搜索引擎知道它是相同的页面和内容,但它已永久移动。