The solution is a little bit further down but first I’ll run you through the issue: on rare occasions, installing BuddyPress into a WordPress multi-site setup can prevent access to addon sites within the network. This issue affects subdomain sites not subdirectory sites.
A Little Background
I activated BuddyPress on a freshly installed test site a few days ago and soon discovered that subdomain sites were inaccessible. The sites were properly registered by WordPress. WordPress correctly created database tables for add on sites and the sites could be configured from within Network Admin. The issue showed when a newly created site was visited: web browsers reported the host could not be found. This happened whether attempting to view a site’s backend or frontend.
At this point I must stress that WordPress multi-site worked perfectly until the addition of BuddyPress: wildcard DNS records for subdomains were correctly configured and addon sites to the network worked correctly prior to the installation of BuddyPress.
Attempts to use the Update Network button caused WordPress to throw the following message:
“Warning! Problem updating http://blog.example.com. Your server may not be able to connect to sites running on it. Error message: Couldn’t resolve host ‘blog.example.com”
From past experience with the same issue on another test domain I knew I could make subdomains created by WordPress accessible by using cPanel to manually create a subdomain for each subdomain within the network but because this was the second time BuddyPress had rendered a WordPress multi-site useless I wanted to find a more permanent solution.
I reinstalled the WordPress core files with the exclusion of wp-config.php and anything under the wp-content directory (where user uploaded content is stored). I also kept my original .htaccess file. This did not fix the site.
I replaced wp-config.php and .htaccess with their default multi-site versions. This did not help. I was still unable to view addon sites.
I forced a database upgrade by lowering the database version number listed in the site’s database in the wp_options table. The database successfully “upgraded” and the site remained buggered.
The last trick I used was to create a new database and rename wp-config.php to force WordPress to populate a new database. This did not solve the problem but it did give me a clue to how I needed to fix it.
Upon upgrading the new WordPress installation to a multi-site, WordPress told me it was unable to access a test domain it had randomly generated to check multi-site had been correctly set-up. The error message suggested I confirm wildcard subdomains were configured. I knew they were and a double-check through cPanal confirmed they were. But this error message brought me back to an idea I’d had when BuddyPress first cocked up my site, an idea I dismissed as silly and irrational: delete the wildcard subdomain then recreate it. Sure enough, it worked.
The Solution
When BuddyPress stops WordPress multi-site adding new subdomains to the network, delete then recreate wildcard subdomains for the site.
I don’t know how or why BuddyPress managed to mess-up my server’s wildcard subdomain configuration for the domain I’d installed it on but it did.
I will be updating my cries for help at BuddyPress and WordPress Support to let others know the solution but I thought I’d share it with you here first.