OpenGL - multiple rendering targets with different size

I have a framebuffer with two color textures (GL_TEXTURE_2D). Fragment shader renders to both textures. I would like to set a different width and height for one of the textures and use MRT feature but according to the GL spec there is one issue:

If the attachment sizes are not all identical, rendering will be limited
to the largest area that can fit in all of the attachments (an intersection
of rectangles having a lower left of (0; 0) and an upper right of
(width; height) for each attachment).

When a framebuffer contains textures with the same size I set a viewport this way:

glViewport(0, 0, colorAttachment0.width, colorAttachment0.height);

For a framebuffer which contains textures with different size I have tried to set viewports this way:

glViewportIndexedf(0, 0, 0, colorAttachment0.width, colorAttachment0.height);
glViewportIndexedf(1, 0, 0, colorAttachment1.width, colorAttachment1.height);

but it doesn’t change rendering results.

Is it possible at all to use MRT feature when textures have different size (2D textures with different width and height) ?

The questions that were asked on your now-deleted SO question still need to be answered.

What part of the specification seems unclear to you? What are these “rendering results” and why are they wrong? It’s ultimately unclear what exactly that it is you intend to do here.