.htaccess rewrite

It looks like you need to process the rewrite using query strings rather than a URI segment and pass your query through index.php. WordPress seems to be agnostic of what you’re trying to accomplish here.

Try the following rule and visit your Settings->Permalinks page to flush previous rules and add this to the stack.

add_rewrite_rule(
    '^([A-Za-z0-9-]+)/speakers/?$', //Checked against the global $wp object - $wp->request
    'index.php?page=speakers&event=$matches[1]', //Use WP_Query params to find your page
    'top' //This will superceed the default WP rewrite stack
);

Make sure to register your query variable as well with WP so you can use it within $wp_query;

add_filter('query_vars', 'my_query_vars');
function my_query_vars($vars){
    $vars[] = 'event';
    return $vars;
}

You can then access your event query variable using the following:

get_query_var('event');

For testing, I’m very fond of the Monkeyman Rewrite Analyzer plugin. It allows you to see behind the curtain of WordPress rewrites and assess which rules are matches, and how their query strings are fleshed out.