I have seen quite a few people struggling with trying to make WordPress Multi Site work with their BlueHost installation. (BlueHost now fully supports wildcard subdomains) This comes mostly from the fact that people have an older site and panic when WordPress tells them they cannot use subdirectories.
Don’t panic! You *CAN* use subdirectories and it will work. You can use wildcard subdomains as well. You simply need to create a *.yourdomain.com record using the Subdomains icon in the cPanel.
First things first. We need to setup WordPress Multi Site:
First, disable all plugins. You can re-enable them again after multi-site has been configured.
In order to make this work, WordPress must be installed at the root level of the domain (regardless of whether the domain is an addon domain or primary domain). Example, if your WordPress install is at mydomain.com then it will work. If your WordPress is installed at mydomain.com/myblog it will not work. This is a default setting/limitation of WordPress Multi Site.
Edit the wp-config.php and add the following line *before* the line which says: /* That’s all, stop editing! Happy blogging. */ :
/** Enable or disable Worpress Multi-site features **/
define(‘WP_ALLOW_MULTISITE’, true);
Then log into the Dashboard, go to Tools > Network, and select SubDirectories and click Install.
You will be given a page with code which needs to be copied and then added to the wp-config.php file first, and then it will also supply code which needs to be added to the .htaccess. Before you do any editing, it would be best to backup your current wp-config.php and .htaccess files, in case you accidentally break something.
You also want to take a quick break to go create a blogs.dir directory inside the wp-content/ directory. This will be needed for the additional sites.
The code is:
define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, false );
$base = ‘/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘www.yourdomain.com’; );
define( ‘PATH_CURRENT_SITE’, ‘/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );
If the .htaccess is blank or if you don’t have one, just create one and paste the provided code into it. If there is already code in the .htaccess, look for a part which looks something like this:
#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule># END WordPress
Remove the code between the #BEGIN WordPress, and the #END WordPress parts and paste the provided code into the gap between them. The provided code may be generated differently depending on how your site is setup, so I have not pasted the code in here, but you should see it in your WordPress Dashboard when you reach this point.
After adding the needed code, click the “Log In” option to refresh your Administration Panel. If you have problems logging back in, please clear your browser’s cache and cookies.
Here is the default WordPress.org article for setting this up: http://codex.wordpress.org/Create_A_Network
*Note that, if you have an existing installation which is over 30 days old, WordPress will try to prevent you from setting up SubDirectories. See the following article to find out why, and how to work around it: http://journalxtra.com/2010/07/how-to-force-multi-site-to-use-subdirectories/
Between the above two guides, you should be able to make a perfectly functioning WordPress Multi Site installation on BlueHost… or almost any host, for that matter.
For more support, or to interact with other users using WordPress MultiSite on BlueHost, see: http://www.bluehostforum.com/showthread.php?20773-WordPress-3.0&highlight=multisite
If you start having problems with performance, be sure to check out this article: http://wordpress.shadowlantern.com/reducing-cpu/





12 Comments until now
Thanks for the great tutorial. As I am very new to WP, would you happen to know how to migrate several existing blogs (in separate WP installations) into a new WP multisite installation? Any help would be most appreciated. Thanks!
That is quite possible. You basically need to Export/Import. Unfortunately it’ll take more than a couple lines to explain so, rather than trying to do so in a single reply, I will refer you to an external article. See: http://shibashake.com/wordpress-theme/move-an-existing-blog-into-wordpress-multi-site
This is great – AND here’s a crazy bit of feedback:
/** Enable or disable Worpress Multi-site features **/
define(‘WP_ALLOW_MULTISITE’, true);
I copied and pasted that from your article – and it didn’t work. Why? After tearing my hair out I figured it was the ‘ and ‘ around WP_ALLOW_MULTISITE . If you just copy from above you get open and close quotes, instead of straight ones needed for the code!
Great post !
Creating a *.domain.com for primary domain using bluehost is not working. I try it and it is truly not working.
Did you try it to create a wildcard using your primary domain in your bluehost account?
June Albert Alberto,
What part of it is not working? Are you sure you set it up right?
Is there any reason why subfolders won’t work for you? I tested the subdomain-setup as working originally, but then ultimately set it up on subfolders afterwards.
Thank you, Seymour, by the way. I entered the correct straight quotes, but my theme just really liked the messed up ones instead. Those have been corrected now so other people won’t have this problem.
I go into the network admin, create a site and then click on dashboard for that site and it give me a 404 not found error. Help!?
Jon, what do you have in your .htaccess file? It sounds like you are missing something important there. Apart from the listed .htaccess code, is there other code in there which may be breaking this?
You may want to paste the contents of your .htaccess into a pastebin, or get a screenshot of it and provide a link on the WordPress forums and/or here so that can be double-checked for you.
Hi,
I’m currently with Bluehost and am trying to configure WordPress Multisite (subdomain) and found your great tutorial (along with Mercadder’s)…but much to my disappointment, I believed I followed everything and yet it’s not working and it’s driving me crazy because I can’t figure out why!
If I go to xyz.domain.com, it leads me to a ”bluehost” page.
If I go to xyz.domain.com/wp-admin, I get an Internal Server Error message:
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@xyz.domain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
The only think I can think of is that when I tried creating a wildcard domain of *.domain.com, the path they automatically put was: domain.com/wildcard. Was I supposed to clear wildcard and just have the path as: domain.com/
I hope that makes sense. I’d be happy to send over more detailed info..as ANY advice would be GREATLY appreciated! Thanks! =)
You said: “Was I supposed to clear wildcard and just have the path as: domain.com/ ”
… That was exactly what you were supposed to do. The wildcard subdomain must be assigned directly to the root folder of your domain, and not to a wildcard subfolder.
Thanks!! =) I had contacted Bluehost earlier on today trying to change the root path (I wasn’t sure if I can go back in to delete and re-add for fear of messing things up…but I could!) Like you had mentioned, some of the Bluehost support didn’t think it can be directed to the root path, even AFTER they gave me a link to this very article. haha. I told them I already found it and re-read it so I believe it *CAN* be done…AND IT WORKS! WHOO HOO! =) So again, thanks SO much for this awesome article. BOOKMARKING it and passing it along! =)
Add your Comment!