if I fire off a traceroute to "
http://xx.xx.xx.xx
"
First, you can't traceroute to a http URL. You need to provide a hostname.
As for the multiple hosts, that's entirely appropriate, normal, and doesn't necessarily indicate a problem. There are many reasons why you might see multiple hostnames in a traceroute output, but without seeing a concrete example it's impossible to tell you which one you're encountering.
It ends up trying to look for an entirely different IP address
Then your DNS is at fault, not traceroute.
I discovered this problem because I cannot connect to my own website from my house, even though I can connect from outside my house
Then your DNS is at fault, not traceroute.
There are two common scenarios at work here.
Ideally, when you're in your internal network you should be able to lookup your site's address and get back the
internal network address of your site. This requires you run your own internal DNS server that knows about the internal structure of your network.
If you're not running your own DNS server then you should get back your site's public address (which is actually an address on your router, with the router providing port-forwarding to the physical server). This option requires a router that supports NAT bounceback (can accept a connection from the internal network that gets bounced back into the network). Not all routers support this and if yours doesn't then your option is to replace your router with one that does, or setup your own DNS server so that you don't have to go through the router when you're on your internal network.
Neither of the above relate to traceroute, though. If you can post a specific traceroute that shows what you're worried about I'm sure I can explain more.