使用高级自定义字段基于Referer进行重定向

时间:2019-01-10 作者:Mike

Im目前正试图通过为一些WP页面分配特定模板来保护它们。

我创建了ACF字段“引用URL”和“重定向URL”,因为这些字段可能会根据模板分配给的页面而改变。

要使模板功能正常运行,需要进行哪些更改:如果referer不是“reference\\u url”,请重定向到“redirect\\u url”

我也不希望缓存发生

但是,下面的代码就放在下面get_header();, 可能是格式不正确、模板文件中的位置不正确,或者是缓存问题。

if ( get_field(\'enable_portal_protection\') && !current_user_can(\'administrator\') ) {
$referring_url = get_field(\'referring_url\');
$redirect_url = get_field(\'redirect_url\');
$referer = $_SERVER[\'HTTP_REFERER\'];
$location = "Location: " . $redirect_url;

if ( $referer != $referring_url) {
    header($location);
}
}

1 个回复
SO网友:Wilco

尝试template_redirect

function portal_protection() {

    if ( get_field(\'enable_portal_protection\') && !current_user_can(\'administrator\') ) {
        $referring_url = get_field(\'referring_url\');
        $redirect_url = get_field(\'redirect_url\');
        $referer = $_SERVER[\'HTTP_REFERER\'];

        if ( $referer != $referring_url) {

            wp_redirect( $redirect_url );
            exit;
        }
    }
}
add_action( \'template_redirect\', \'portal_protection\' );
同时使用wp_redirect. 这是WordPress重定向的方式。

相关推荐

Redirect htaccess

我需要帮助重定向我的页面。例如,我有网站https://example.com. 我需要将内容从https://example.com 到https://example.com/blog. 这不是问题,我通过更改主页URL来做到这一点。这很有效。但现在我需要添加来自旧的重定向https://example.com 到https://xmpl.com.我想用。htaccess,但这不起作用。你们能帮帮我吗?以下是我对此的一些尝试,但两者都不起作用。RewriteEngine On RewriteRu