You can also use mod_rewrite in htaccess.
Code:
# Do not change this line.
Options -Indexes
RewriteEngine on
#makes sure www. is included in www.Yourdomain.com
RewriteCond %{HTTP_HOST} ^Yourdomain.com$
RewriteRule ^$ http://www.Yourdomain.com/index.php [L,R=301]
# Change yourdomain.com to be your main domain.
RewriteCond %{HTTP_HOST} ^(www.)?Yourdomain.com$
# Change 'subfolder' to be the folder you will use for your main domain.
RewriteCond %{REQUEST_URI} !^/Yourdomain/
# Don't change this line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Change 'subfolder' to be the folder you will use for your main domain.
RewriteRule ^(.*)$ /Yourdomain/$1
# Change yourdomain.com to be your main domain again.
# Change 'subfolder' to be the folder you will use for your main domain
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_HOST} ^(www.)?Yourdomain.com$
RewriteRule ^(/)?$ Yourdomain/index.php [L]
it's in the bluehost support center's knowledgebase, I'm just too lazy to look for the link right now. Anyway it works, and it is much cleaner to have all of your domains in subfolders.