XAMPP Apache shows router page instead of Application
Summary:
The problem here was that the router did not correctly implement NAT Loopback,
meaning a loop such as:
PC -> router -> internet -> router -> PC.
NAT Loopback is not supported on many consumer routers. The poster's router converted such access to an access to its login page. It worked correctly when accessed from outside the local network.
Note: Opening the router's login page to the internet is a big security hole, to be avoided.