Wordpress - 将404迁移到不同的域

时间:2017-04-28 03:16:39

标签: php wordpress .htaccess symfony redirect

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

挑战/问题是我们在野外引用www(ex www.example.com/thing/handled/by/app)。所以我需要找一个wordpress插件,它会发出301不知道如何处理的事情(也就是wp需要404重定向到app)。

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

如果需要其他详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

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

编辑重新阅读您的要求后,您应该只需将以下代码段添加到主题的functions.php文件中。

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

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