Fixes T6106. See that task for additional dicussion. Specific issue is that if a URI has no path, but does contain a "/" in the query string, parse_url() does something unexpected.
$ php -r "var_dump(parse_url('idea://open?a=/'));" array(3) { ["scheme"]=> string(4) "idea" ["host"]=> string(7) "open?a=" ["path"]=> string(1) "/"
Instead, adjust these URIs so we get a more expected result.