Upgrading from WordPress MU to 3.0

Author: Andy Hartwell

If you run a WordPress MU “network” (or even a single site on the MU platform) and you’re thinking of upgrading, here’s a few things to bear in mind.

There is no “WordPress MU 3.0”. Since 3.0, WordPress and its MU branch are one and the same, so if you’re not automatically upgrading, just download the latest version of WordPress and replace everything in your old site with these new files, except for the /wp-content directory.

Delete /wp-content/blogs.php. This file is no longer needed, so you can get rid of it (you’ll see a warning in the admin area until the file is removed).

Update your .htaccess file. There isn’t a lot of documentation about this, but when you delete the /wp-content/blogs.php file, any media you’ve uploaded to your specific sites using the WordPress media uploader, won’t work, because the URL rewriting rules stored in .htaccess are now out-of-date. Replace the content of your .htaccess file with the following:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress

Code courtesy of a WordPress forum post.

Remember this is just a guide, and if you’re not familiar with setting up and working with the innards of WordPress sites, get a developer in or ask us to give you a hand.