如何正确地从一个URL重定向到另一个URL

时间:2019-01-18 作者:Hossj

我们最近做了一个从定制CMS到Wordpress CMS的大规模迁移,但是我们想找出正确的方法来进行301重定向,因为以前的URL在永久链接中没有任何日期,而新的URL有

旧永久链接:/category/subcategory/1234/slug(1234=帖子id)

新永久链接:/category/subcategory/YYYY/MM/DD/slug

对于遵循此结构的6万多篇文章,执行301的最佳方式是什么?

1 个回复
SO网友:David Brossard

通常,您可以使用。htaccess(位于所服务文件夹根目录下的文件)和一个正则表达式来执行重定向。我用过Yoast 生成矿山:

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://example.com/$4
在上面的正则表达式中,我在开头匹配任何内容,然后匹配/后跟4位数字(一年),后跟/后跟2位数字(一个月),后跟/后跟2位数字(一天),然后是页面段塞$4指向(…)中的第四个变量。看见here 用于解释。

但是,在您的示例中,需要检索给定post标识符的日期信息。在这种情况下,您可能会发现使用Wordpress插件更容易为您处理重定向。这one (谷歌排名第一)应该可以做到这一点。

PS:SEO最佳实践建议远离基于日期的URL。我正在自己的网站上这样做。你为什么要走另一条路?

相关推荐

Only plain permalinks working

我对一个站点(多站点结构的一部分)有问题。突然,除了主页,所有静态页面都显示了最后一篇帖子的列表。单桩工作正常。如果我将永久链接从;职位名称;“到”;“普通”;一切正常。这里是htaccess文件。RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?