So you need this to happen before WordPress has output anything at all, otherwise you won’t be able to send a redirect.
A way to achieve this is with the template_redirect
hook, documented here: https://codex.wordpress.org/Plugin_API/Action_Reference/template_redirect
The example from that docs page is more or less exactly what you want. I’ve edited it a little bit for your question:
function my_page_template_redirect() {
if ( is_page( 'page-main' ) ) {
if ( $some_condition ) {
wp_redirect( home_url( $pageA ) );
} else {
... other caeses here with redirects to other pages
}
}
}
add_action( 'template_redirect', 'my_page_template_redirect' );
You’d need to add that to your functions.php or a plugin.