你知道为什么重定向在WordPress中不起作用吗?

4ioopgfo  于 12个月前  发布在  WordPress
关注(0)|答案(1)|浏览(162)

a redirect_to from the wordpress software is not working
domain.com/wp-login.php?redirect_to=https%3A%2F%2Fforums.domain.com%2F
然后返回到论坛的子目录
然而,它只是转到domain.com/wp-admin
我已经禁用了所有插件,尝试了不同的浏览器,尝试了管理员和普通用户。
我也升级到6.3.1 -尝试了这两个版本和旧版本。
我运行cloudfare,但也禁用了这个。
我也有一个重定向插件安装-但这工程罚款(也禁用检查冲突)
我不知道为什么会失败

exdqitrt

exdqitrt1#

如果 redirect_to 通过url请求传递,WordPress会使用函数 wp_safe_redirect(而不是 wp_redirect)来检查允许的主机。由于 * forums.domain.com * 与 domain.com 不同,并且不在允许的主机列表中,因此重定向默认为 admin_url()
要使重定向工作,您应该将 * forums.domain.com * 添加到允许的主机列表中(例如:在你的functions.php中)使用一个过滤器函数:

function my_allowed_redirect_hosts( $hosts ) {
    $my_hosts = [
        'domain.com',
        'www.domain.com',
        'forums.domain.com',
    );
    return array_merge( $hosts, $my_hosts );
};
add_filter( 'allowed_redirect_hosts', 'my_allowed_redirect_hosts' );

相关问题