Simple outgoing URL substitution

I thought I would “try something simple” today, and (of course) it wasn’t.
I thought I would try to set up a rule to redirect all references to amazon.com or www.amazon.com from my LAN to go to smile.amazon.com instead, for the obvious reasons.
First I tried using the proxy, as suggested here. It didn’t work, probably because the advice was from 2008 and since then, all traffic is https-itized at the earliest possible opportunity.
Then I tried using DNS static with a regexp of ^(www.|)amazon.com (this is from Winbox, not Terminal, so the backslash levels are OK). But it doesn’t do anything. I’ve flushed my computer’s DNS cache, and I know the MikroTik’s DNS feature is enabled properly because I use it for other stuff.
Is there an easy way to do this?

Mikrotik DNS won’t re-write the HTTP request’s host headers. So I suspect AWS’s backend uses the Host: header generated by the browser, regardless if smile.amazon.com uses a different IP in DNS.

As @Amm0 already hinted: it’s impossible to do it without client noticing it this way or another.
OK, some security agency with good business contacts with either amazon or digicert (issuer of amazon certificates) or both could do it, but you can’t.

The only possibility would be to run some adcanced proxy (MT’s own is not) and then you’d have to explicitly configure client (browser) to use that proxy. Such configuration means that verification of server is delegated to proxy (by client) and then you can start playing dirty (or charitable :wink:).

Amazing timing! The problem solved itself!
Today, Amazon announced they will be discontinuing Amazon Smile as of February 20. :frowning: