【问题标题】:Moving to Wordpress, how about old urls?转移到 Wordpress,旧网址怎么样?
【发布时间】:2019-03-03 17:36:35
【问题描述】:

将很多文章从旧站移到Wordpress,旧站url为: www.domain.com/6272/post-title

新的Wordpress在哪里:

www.domain.com/post-title

我检查了add_rewrite_ruleadd_permastruct,但我不知道是怎么回事!

谢谢,

【问题讨论】:

标签: wordpress url-rewriting


【解决方案1】:

如果源和目标都是wordpress:

您必须使用 norepad++ 编辑来自 phomyadmin 的 sql 导出,并用新路径替换旧路径。

如果站点很小,您可以使用插件 Duplicator,或其他要求设置新 url 的插件。

如果源站点不是 wp,您必须编写插件或搜索以查看您的源技术存在哪些内容。

【讨论】:

  • 旧站是用Yii2搭建的。而且; Google bots 不会找到旧的站点 url,并且会返回 404,这很糟糕,我必须有多个结构。该网站最初是使用 Drupal 6 制作的,然后迁移到定制的 Yii2,现在是 Wordpress。 Drupal url:www.site.com/node/73731 Yii2 url:www.site.com/article/32222 使用 Yii2 很容易创建任何 url 结构,但现在对 Wordpress 有点困惑。该网站有超过 30 万篇文章。这个想法是获取请求的 url 并获取请求的 ID,然后重写为新的 url。谢谢,
  • 当我在希腊的一家大型德国公司工作时,我遇到了将旧会计系统迁移到 SAP 的问题,我使用 Pro*C 解决了这个问题。我认为您需要一个自定义 php 程序来从数据库中导出文章,根据需要进行操作并导入到 wordpress 数据库。
【解决方案2】:

我不确定您的服务器是在运行 apache 还是 nginx,但进行 301 重定向听起来像是您需要的。

对于apache,这将放在您网站根目录下的.htaccess 文件中

Redirect 301 /oldpage.html http://www.yoursite.com/newpage.html

Redirect 301 /6272/post-title /post-title

在此处阅读更多信息:https://css-tricks.com/snippets/htaccess/301-redirects/


对于nginx,这将进入/etc/nginx/sites-available/yoursite.conf 中的站点配置文件

server {

  listen 80
  listen 443;

  server_name www.domain.com;

  location /6272/post-title {
    return 301 www.domain.com/post-title;
  }

}

在此处阅读更多信息:https://www.digitalocean.com/community/questions/setting-up-a-301-redirect-with-nginx-for-my-ghost-blog

【讨论】:

  • 如果新站点和新站点中的帖子相同,但它们不同,那将是一个错误。我保存在数据库中的 postmeta 表中的旧站点 url,所以我将使用一个函数从请求的 url 中获取帖子,然后在 postmeta 中搜索,然后将页面转发到新的。
  • 还有一件事,我说的是拥有超过 300K 帖子的网站。请阅读下面的 m6 评论。
【解决方案3】:

我正在寻找一种获取旧帖子 ID 并在帖子元数据中搜索的方法,如果找到,然后使用 301 重定向到帖子。

在此处发布代码以供参考和增强:

`https://pastebin.com/ncjEWQsc`

希望有人能评价一下。

【讨论】:

    猜你喜欢
    • 2015-08-02
    • 1970-01-01
    • 2014-10-25
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 2021-02-15
    • 2021-11-03
    相关资源
    最近更新 更多