Custom URL Rewrite Rules not working

I encountered the same issue on a client project. If you haven’t already, you’ll need to add the query variable as a public query variable otherwise using get_query_var() won’t work properly.

/**
 * Adds the query var to public vars, making it accessible.
 */
add_filter('query_vars', 'query_vars');
function query_vars($public_query_vars)
{
    $public_query_vars[] = 'custom_route';
    return $public_query_vars;
}

Using this filter will add custom_route to the public query variables, and you should be able to get it’s value in your script.

For further reference:
https://developer.wordpress.org/reference/hooks/query_vars/