If like me you’ve decided at some point to move your phpBB install to a new domain or location within a domain, there are a number of little hurdles to jump before you can successfully consider the move complete. Here’s my short one-two-three guide for getting your forum moved over to a new address.
My first port of call was to use Thorsten Hartmann‘s th23 Domain mod, which enables users to log in to your forum from different domains. The mod is no longer being updated, but I can confirm that I have it running with the current version of phpBB (3.0.8). As long as your two (or more) domains or addresses point to the same location, this mod should allow the user to access the forum as if he’d used the default address. In fact, with a little php wizardry at your disposal, you could use the mod as the basis for having your forum displayed differently depending on the web address used.
After making sure I had the forum running currently from two addresses, I then did the standard thing and followed the official guide to moving your forum over at phpbb.com. You may be able to skip certain sections of that guide depending on whether or not you are actually moving server.
Updating links
Once your forum is working correctly under the new domain, one final alteration you may need to make would be to update all those backlinks in your forum posts to point to the right place. Simply run the following SQL queries (using phpMyAdmin or otherwise), replacing the addresses OldDomain.com/forums and NewDomain.com/forums with your relevant old and new forum web addresses.
UPDATE phpbb_posts SET post_text = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums'); UPDATE phpbb_posts SET post_text = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums');
You may need to run this twice if you also allowed access to your forum via a different subdomain (e.g. both OldDomain.com/forums and www.OldDomain.com/forums). And whilst not strictly necessary, the same principal can be applied to updating backlinks in private messages and forum signatures.
UPDATE phpbb_privmsgs SET message_text = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums'); UPDATE phpbb_privmsgs SET message_text = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums'); UPDATE phpbb_users SET user_sig = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums'); UPDATE phpbb_users SET user_sig = replace(post_text, 'www.OldDomain.com/forums', 'www.NewDomain.com/forums');