首页 > 解决方案 > 如何使用不同的永久链接结构重定向旧域?

问题描述

旧域最初有一个永久链接结构,即 domain1.com/%year%/%month%/%date%/%post-id%/post-title,而我将永久链接结构更改为简单的 domain1.com/post -title 稍后,重定向就像安装重定向插件一样简单。

但是最近,该网站迁移到了一个新域;我们称之为 domain2.com。在 .htaccess 中添加了以下代码,以将所有旧 URL 重定向到新域上的相应 URL:

RewriteCond %{HTTP_HOST} ^domain1.com$ [OR]        

RewriteCond %{HTTP_HOST} ^www.domain1.com$         

RewriteRule ^(.*)$ https://domain2.com/$1 [R=301,L]

此代码适用于大多数页面,但使用旧永久链接结构的页面除外。

旧的永久链接 URL 导致了太多的重定向(具有旧永久链接结构的旧域名 -> 具有新永久链接结构的旧域名 -> 具有新永久链接结构的新域名),我认为这对 SEO 不利。

这些页面具有良好的反向链接,因此这里的目标是将价值传递给新域。

现在,我知道我可以将此代码用于单个 URL(信用MrWhite

RewriteCond %{HTTP_HOST} (w*)domain1\.com$ [NC]
RewriteRule ^2020/10/25/2257/title/?$ https://domain2.com/title/ [L,R=301]

但由于这将涉及添加很多行,我很好奇这是否可以用一段通用代码来完成——旧域的旧永久链接 URL 应该重定向到新域的当前永久链接结构。

两个域都托管在同一台服务器上。

标签: wordpress.htaccessredirectdnscpanel

解决方案


找到了解决方案。

如果您处于类似情况(请参阅帖子),只需在域级重定向上方添加类似这样的内容。

RewriteCond %{HTTP_HOST} (w*)domain1\.com$ [NC]
RewriteRule ^2020/\d+/\d+/\d+/(.+)$ https://domain2.com/$1 [L,R=301]

推荐阅读