WP gives 404 error for custom post type with GET variable

Numbers work because single posts can have pagination, and there is a rewrite rule to support that.

If you want to add an additional parameter after a permalink, add a rewrite endpoint.

add_rewrite_endpoint( 'show', EP_PERMALINK );

EDIT- Here’s an internal rewrite example, assuming your custom post type slug is type1:

add_rewrite_rule(
    'c/([^/]+)/([^/]+)/([^/]+)/?$',
    'index.php?type1=$matches[1]&type2=$matches[3]',
    'top'
);