[eluser]BrianDHall[/eluser]
First, as to domain.com being rewritten to domain.com/home, I think you mean that you want that URL to actually show in the browser? Routes don't do that, regardless of how it is accomplished you would be issuing a redirect to the browser that "this address isn't what you want, what you really want is THIS address".
I think in your default controllers constructor you can just create a route to check to see if there are no segments, and if not issue a redirect() that points them to what the address you want them to use is.
As to getting domain.com/seg1 to submit seg1 as a parameter to a controller, yes you can do that as well but typically the problem is you tend to lock yourself into using one controller or having to create manual exclusions for certain controllers, and then introducing name conflict possiblities as well. I've done it, but I don't really recommend it.
You just create a route that takes everything and rewrites it to your default controller, with everything captured stuck as a parameter.