SOLVED Custom Add rewrite rule and Get string

The values parsed out of internal rewrites don’t end up in GET, you have to use get_query_var('search_location') instead.

If you have code that you can’t edit that relies on GET, you can try to set them manually-

function wpd_foo_get_param() {
    if( false !== get_query_var( 'search_location' ) ){
        $_GET['search_location'] = get_query_var( 'search_location' );
    }
}
add_action( 'parse_query', 'wpd_foo_get_param' );