How to change the place of a block or region based on url path? I have a menu block and it will be displayed on all pages, but I need to change the placing of it. On certain pages (dependent on path) I need to display it above the main content, while on other pages I need to place it below the content.
I am experimenting with the context module and I was able to put the block above the content, but then on these pages, the menu shows BOTH above and below the content.

I have a solution in mind, but there must be a better way: I can set up two regions, one above and one below the content, then put the menu block in the region below the content, and set up a context to put the menu in the above region AND hide the below region. This could work, though I think there should be a more elegant way.
Hope this will help you.

In Drupal 7 you can achieve it using Context module as suggested by the Jack.

Steps


Fist of all disable the menu block using admin/structure/block.


As you specified you need to show menu block in two regions, then those 2 regions(main content and above the content) must exist. If not then create it.
Create a new context and add menu block based on your requirement and path.
Showing menu block block in region Content


Showing menu block block in another region user bar second




Reference : 


create custom regions