From the land of things that were harder than they needed to be. Seems like you need a deep dive in everything to be able to do anything sometimes.
So, on this domain I wanted to use a single host to handle a few subdomains. One for my blog (which you're on now), and maybe a couple of others for web classes or anything else I may want to mess around with.
Easy enough to do with subdomains and different document root folders on a standard server. And the hosting service does provide different document root folders. I ended up with different FTP root folders for each subdomain which is not what I was looking for. I wanted to use one FTP account and then just upload to the location I wanted for the subdomain I was updating.
So I decided to use .htaccess to redirect subdomains to subfolders in the document root.I also wanted wordpress in a subfolder of it's own like the image below:
This presented a problem with having http://steili.com and www.brandons119.sg-host.com end up in the /wp directory, and then having other subdomains (demo / test) end up in their respective directories.
.htaccess flag explanations can be found here: http://httpd.apache.org/docs/2.4/rewrite/flags.html
And lots of other interesting facts here: http://www.htaccess-guide.com/
Here's how I got this working (with comments):
IndexIgnore * RewriteEngine On
REWRITE RULES
redirect www to non-www RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Rewrite *.domain.com to subdirectory ignoring case RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC] RewriteRule ^(.*)$ https://domain.com/%1/$1 [L,NC,QSA]
Rewrite primary domain to wordpress RewriteCond %{REQUEST_URI} !^/.*/ RewriteCond %{HTTP_HOST} domain.com$ [NC] RewriteRule ^(.*)$ https://domain.com/wp/$1 [L,NE,R=301]
# END REWRITE RULES
Hopefully that helps. The nice part about this is I have one FTP account to deal with, any new subdomains I add all I have to do is point DNS to the host and add a folder to the root directory that matches the subdomain name.
Would you want this in production? Not likely, but this is just my domain with some junk and a blog... :)