Your /etc/hosts file is only for IP addresses, so if you wanted to JUST type in 'superuser' in your address bar and it go to 'superuser.com' then in your /etc/host file you'd add a line like this:
superuser 69.59.197.21
The problem with this is if 'superuser.com' changes its IP, you'll need to update your /etc/hosts file.
If you wanted to do it at your router, it would have to be able to be setup as an actual DNS server. If its a standard router you bought at store X chances are it has basic DNS implementation, not the full DNS server capabilities you'd want to implement what you're looking for.
So depends on what you want, if you just want to type in the name without going to www.com, then the /etc/hosts would be the easiest. If don't want ties to your ISP's DNS proxy configuration, then you'd need to implement one between you and your ISP.
EDIT: another alternative is to use one of the public/open DNS servers instead of your ISP (or even use one of the actual IANA root name servers). You can still grab an IP from your ISP so you can connect and route out, but then override the DNS servers with the alternative ones. Then when you make any sort of DNS request (which is pretty much anything on the net), you'll be getting your DNS queries from the alternatives and if they can't find it, you'll probably get a standard 'cant find' or 'timeout' back instead of being redirected to the ISP's internal 'not found' page. There's a bunch of open DNS servers that you can use, but I'd stick with the root servers since they have a little more accountability in tact with those (https://www.iana.org/domains/root/servers for the current list)
1I use comcast, which had the options in their Account pages. Try digging there (for the easiest solution). Otherwise, you could point to a differemt DNS (such as OpenDNS). – nerdwaller – 2012-11-24T21:27:38.743