背景故事,我有一个“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。
如果需要其他详细信息,请与我们联系。
答案 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']);
}
});