I'd be very surprised if leafypiggy's approach worked. By setting DirectoryIndex in .htaccess for DOCUMENT_ROOT, anytime a user requested a URL that resolved to a directory, Apache would serve up DOCUMENT_ROOT/main/. If a user requested "/foo/bar/" zhe'd get "/main/". Moreover, Apache would no longer look for index.html when resolving a directory URI. I'm guessing this last fact is part of why you're getting to 500 error. All of the preceding doesn't apply when DirectoryIndex is set for a subfolder.
You can use an external redirect, as GrandeMike suggests, or you can use
rewrites (if you don't like that guide, Google will turn up plenty of others).
I have to ask: why did you organize your site that way?