【问题标题】:Wordpress - Migrate 404s to different domainWordpress - 将 404 迁移到不同的域
【发布时间】:2017-04-28 03:16:38
【问题描述】:

背景故事,我有一个“php/symfony 网络应用程序”,目前托管在 www.example.com,但我希望将整个功能移至 app.example.com,这样我就可以启动一个 wordpress 网站处理所有www 流量(它是我们的营销页面)。

挑战/问题是我们有引用www(例如www.example.com/thing/handled/by/app)的链接。所以我需要找到一个 wordpress 插件,它会为任何它不知道如何处理的东西发出 301(又名 wp 需要将 404 重定向到app)。

因此,如果我们在 wordpress 站点中创建一个 /pricing 页面,那么它可以在 www.example.com/pricing 获得并由 wordpress 处理。但是如果有人去www.example.com/foo 不是wordpress 能够处理的页面,那么我们有一个301 到app.example.com/foo。我正在寻找一些处理“已知”路由的插件,但我基本上需要一个通配符重定向,但仅限于 404。

如果需要更多详细信息,请告诉我。

【问题讨论】:

    标签: php wordpress .htaccess symfony redirect


    【解决方案1】:

    看看Redirection plugin。它有一个404日志,也支持使用指定链接或正则表达式匹配的301重定向。

    编辑重新阅读您的要求后,您应该可以将以下 sn-p 添加到主题的 functions.php 文件中。

    这将在查询已解决但在模板呈现之前拦截 WordPress 生命周期。如果请求不是针对管理面板中的页面并且它被解析为 404,那么它会将请求重定向到您的应用程序。

    add_action('template_redirect', function () {
        if (! is_admin() && is_404()) {
            header('Location: https://app.example.com' . $_SERVER['REQUEST_URI']);
        }
    });
    

    【讨论】:

    • 是的,那是我的第一个插件评估。但我没有看到仅对 404 采取行动的方法(是的,它们记录但我需要在那里重定向)。
    • @jsuggs - 我添加了一个代码 sn-p 应该可以满足您的需求。
    • 抱歉耽搁了@fubar,但工作就像一个魅力。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2014-07-15
    相关资源
    最近更新 更多