Disabling post_type in URL

I think you might be able to accomplish this via filter. Looking at the core wp class you’ll find the $public_query_vars and $private_query_varsvariables defined by a hardcoded array. These could probably be overriden/changed via the global $wp object but if you dig a bit deeper there’s a filter that should let you remove items from the public array only when parsing a request. here’s the code and docs from core:

/**
         * Filters the query variables whitelist before processing.
         *
         * Allows (publicly allowed) query vars to be added, removed, or changed prior
         * to executing the query. Needed to allow custom rewrite rules using your own arguments
         * to work, or any other custom query variables you want to be publicly available.
         *
         * @since 1.5.0
         *
         * @param array $public_query_vars The array of whitelisted query variables.
         */
        $this->public_query_vars = apply_filters( 'query_vars', $this->public_query_vars );

That is in parse_request() so removing the offending vars from the array at that point should stop that querystring from working, without breaking anything. Keep in mind thought hat I haven’t tested any of that theory and I may well be entirely off base here. Good luck!

If that either doesn’t work or isn’t how you want to handle this then you’ll need to use .htaccess redirects to accomplish this.