how to display a message to all requests ?

When the internet is down from the ISP side, I want to display a message or a page to all of my clients to know that the internet is down from ISP.
For example, if someone browses google.com then a local page or message should be displayed “Internet is down from ISP”
Thank you

It’s somewhere between difficult and impossible. Now that https is almost everywhere, you can’t intercept traffic like it was possible before. You can try to either play with hotspot, or just redirect port 80 traffic to your web server, make it send redirection to your info page, and hope that captive portal detection on client devices will kick in and show the page to them. But I’m not sure what exactly triggers the detection, so it may not work when device was already connected and had internet access.

at least it should be possible to redirect all requests to another URL ?
For example, if someone browse gmail.com, it should redirect to local.net which is my local webserver.
if possible, how to do that and I’m using winbox.

That is impossible, because gmail uses https so you cannot send a message to your clients pretending to be gmail.
The browser will reject such traffic.
This includes redirects.