This post is pretty much just a note to self (I tend to have to relearn how to write Apache rewrites every time I use them), but I thought it might be useful to others as well.
A few months ago I set up a Twitpic-esque WordPress site for hosting my mobile photos. Since then, the shared hosting space where the sites lives has been filling up, so I don’t have much storage left, and I’ve also gotten a sweet new domain name. So this morning I took a few minutes to move the existing WordPress site (http://boonebgorges.com/photos/, part of a WP network at boonebgorges.com) and to http://boone.gorg.es/photos/, on another server. Here’s how I did it:
- Use the WP export tool (Dashboard > Tools > Export) to get an XML of the old site data (on boonebgorges.com/photos)
- Create a new, empty site (boone.gorg.es/photos)
- Import the content of the old site (Dashboard > Tools > Import > WordPress)
- Move my custom theme (and its parent theme) to the new server, and activate it for the new site
- To make sure that old links to boonebgorges.com/photos/* are redirected properly, put the following in .htaccess on the old server:
# These two lines have to be somewhere near the top of your .htaccess RewriteEngine On RewriteBase / # Redirect old photo URLs RewriteCond %{HTTP_HOST} ^boonebgorges.com$ [NC] RewriteCond %{REQUEST_URI} photos/* RewriteRule ^.*$ http://boone.gorg.es%{REQUEST_URI} [R=301,L]
Because the main purpose of this site is to post from my mobile phone, I also had to change the settings in my WordPress Android app. It doesn’t look like this app allows you to change the URL of an existing site, so I just deleted the one I already had on the phone and added the new one, being sure to enable XML-RPC access first, at Dashboard > Settings > Writing.