htaccess 将传入链接重写为新链接

htaccess rewrite incoming links to new one

我在网站迁移和旧链接方面遇到问题。现在,它不仅是服务器迁移,还是 CMS 迁移。网站从 umbraco (asp.net) 转到 wordpress。问题是 google 索引了旧的 URL。我们有一种方法可以重新制作链接,使它们正常工作。我一直在使用这种方法来修改链接并使用 WP 插件进行重定向。问题是这个插件有很多链接。

我想知道是否有任何方法可以使用 htaccess 动态修改链接。 所以,这里是应该如何重写链接:

http://example.com/something/XXXXX-some-text.html
-->
http://example.com/something/some-text-XXXXX
where XXXXX is some number between 100 and 100,000

这个方法行得通,唯一的问题是有超过 60,000 个链接...

有什么建议吗?

P.S。 还有一些应该跳过的其他链接,因为我们没有办法修改它们...

这是你想要的吗?

RewriteEngine on
RewriteBase /
RewriteRule ([a-zA-Z\-]+)/([0-9]+)-([a-zA-Z0-9\-]+)\.html //- [L,R=301]

将其放在 Wordpress 安装中 .htaccess 文件的顶部。

  • ( ): 将捕获一个字符串
  • $#:将在重定向中打印捕获的字符串
    • </code>: 将打印第一个捕获的字符串</li> <li><code>: 将打印第二个
    • : 会打印第三个

您可以使用 this tool 来测试那种简单的规则。