【问题标题】:301 redirections when migrating from Wordpress to Ghost从 Wordpress 迁移到 Ghost 时出现 301 重定向
【发布时间】:2014-01-22 20:10:24
【问题描述】:

我想将我的 WP 博客迁移到 ghost,永久链接具有相同的 slug(/blogWP.com/title-articleblogGhost.com/title-article),但我仍然有诸如 blog.com/category 之类的页面要重定向。

有什么方法可以像在 .htaccess 文件中那样在 Ghost 中进行 301 重定向?

谢谢!

【问题讨论】:

    标签: wordpress .htaccess redirect ghost-blog


    【解决方案1】:

    可以直接通过 ghost 本身重定向,但您需要更改核心。虽然我不确定这是完美还是正确的方式。

    打开core/server/errorHandling.js

    找到这一行:

    error404: function (req, res, next) {
    

    在下面添加:

    res.status(301); 
    res.set({'Location': 'http://your-new-wordpress-blog-url'+req.url});
    res.send('301','Not found');
    

    这样,我不会显示 404,而是重定向到我的 wordpress 的新域(示例中为http://your-new-wordpress-blog-url

    这样,www.ghost.url/not-a-valid-page 将重定向到 http://your-new-wordpress-blog-url/not-a-valid-page,而不是显示 Ghost 的 404 页面。

    p.s:此重定向,但我不能 100% 确定标题是否正确,如果其他人能澄清,我将不胜感激。

    【讨论】:

    • 谢谢 Arda,虽然我希望有合适的方法来做这件事,但似乎工作正常......
    【解决方案2】:

    很抱歉,目前无法使用 Ghost 进行重定向。

    进行重定向的最佳方法是使用代理服务器(推荐)并在那里进行重定向。对于 Apache,您可以使用 .htaccess 文件和 nginx 提供 HttpRewriteModule

    【讨论】:

    • 非常感谢你的回答 sebgie,我猜 Ghost 还没有那么成熟:/
    • @user1720723 不,有办法,请看我的回答。
    • 是的,有一种方法可以重写 Ghost,但目前不支持开箱即用地进行 301 重定向。这取决于您的经验和是否愿意为以后的每个版本应用补丁。跨度>
    【解决方案3】:

    我的 ghost blog 是一个子目录 /blog/ 运行 NGINX。 我需要将旧的 wordpress 网址 /blog/category/post-title 重定向到 /blog/post-title

    /blog/ghost/../blog/tag/../blog/author/../blog/post-title/amp/ 除外。

    所以我提出了重写规则: rewrite ^/blog/(?:(?!ghost|tag|author).).*/(?:(?!amp))(.+)$ /blog/$1 permanent;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-03
      • 2019-01-19
      • 2012-04-20
      • 2015-06-15
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多