I’ve been using blogs for my online classes for several years now, first using free WordPress.com blogs, then moving to a self-hosted wordpress installation with a certain currently unpopular hosting provider who shall remain nameless. In August, when my hosting contract, ran out I decided not to renew and to move my domains elsewhere. I used iwantmyname.com to manage my domains, and used free services (posterous and tumblr) to host my blogs. It worked OK (and was certainly cheaper than paying for hosting), and I was even able to set up subdomains for my different class blogs (blog.domain.com, not domain.com/blog), which my old provider didn’t allow.
After a semester of free hosting, however, I was ready to go back to hosting my own installation. I went with Bluehost on the recommendation of friends, and also because they allow subdomain WordPress installations. Their tech support was helpful in matters of basic setup, but weren’t very knowledgeable about how to set up a multiple subdomain sites within WordPress. In fairness, their support only extends to getting WordPress installed, which went flawlessly. The problem I had, though, was that even though the main blog was easy to set up, I couldn’t access any of the subdomains. I read several pages about using a wildcard domain in cPanel, but none of them were clear enough for someone with skills as rudimentary as mine (so now I’m going to spell it out).
Two sets of instructions finally got it through my thick skull: Joe at aboundmarketing sent me to the cPanel subdomain page, and the WordPress Codex finally allowed me to figure out where the wildcard needed to point (NOT the default “wildcard” folder that cPanel wants to setup).
Joe writes “For ‘Document Root,’ type in the folder where your WordPress installation is located,” and the Codex writes, “Make sure to point this at the same folder location where your wp-config.php file is located.” I should have figured it out then, but it took me a bit more poking around. Elsewhere, the Codex writes, “make sure that both the site address and the WordPress address are the same.” In other words, WordPress has to be in the public_html directory, and the wildcard domain has to point to public_html. (It’s a basic syllogism, right? WordPress must be in the public_html directory; the wildcard must point to the WordPress directory; therefore, the wildcard must point to the public_html directory.)
tl;dr: Point your wildcard subdomain to public_html, not a subdirectory of public_html