I recently moved a WordPress Multisite to a MediaTemple (dv) server. It was a very simple 2 website network but I was having issues with a redirect loop while domain mapping.
This will probably also work for other hosting providers using Plesk, with slight variations on the process.
The network contained the following URLS:
I want to change http://www.example.com/exampletwo/ to http://www.exampletwo.com/
Before we begin
Before you get started make sure that you’ve done the following as required:
1. You’ve set up your WordPress Multisite
I’m going to assume you’ve successfully installed WordPress multisite following the WordPress Codex instructions.
2.You’ve installed the WordPress MU Domain Mapping Plugin
I also assume you’re using the WordPress MU Domain Mapping plugin installed following the instructions in the readme.
Sorted? Great, let’s get started.
I found a solution in this post and its very simple.
Basically, do not set up a subscription for your second domain in Plesk.
If you have set up a subscription for http://www.exampletwo.com/ then remove it.
Then, go to the original domain’s Control Panel in Plesk and set up a domain alias.
Your domain mapping set up in WordPress should now work fine!
If you need some more details, continue reading…
The Fix: Detailed Version
The problem I found was that many tutorials were aimed at users rather than adminstrators, or hosted wordpress.com blogs rather than self-hosted wordpress.org.
Note: These instructions relate to our new domain, http://www.exampletwo.com/.
1. Point your Nameservers to MediaTemple
If you registered your domain with MediaTemple skip ahead to step 3.
If you used another service such as 123-reg, Misk, GoDaddy etc you’ll need to log into your registrar’s control panel and change the Nameservers to the following:
This will probably be under DNS Settings or Domain Settings or similar. Consult their support if you can’t find it.
2. Add your domain to MediaTemple
Log into your MediaTemple control panel.
Click ‘Add New Domain’
Click the ‘Add Domain’ button
Enter your domain name, click ‘I already own this domain’, and then click the ‘Next Step’ button.
Domain names take varying times to ‘Propagate’. This means it could be anything from 5 minutes to 72 hours before your domain will be associated with your MediaTemple account.
Usually this is done within a few hours. Use a tool such as Pingdom’s brilliant DNS Checker to see when your domain’s DNS information has been updated.
3. Set up a domain alias
Normally at this point you would create a ‘subscription’ in Plesk for your websites hosting, e-mail etc. But as the website is actually a subdirectory of http://www.example.com we don’t do this.
If you have already set up a subscription for http://www.exampletwo.com/, delete it.
In Plesk, go to Subscriptions and open the Control Panel of your original WordPress website (http://www.example.com/).
Click the Websites & Domains tab.
Scroll down to the bottom of the page and click Add New Alias.
Add the domain of your second website, without the http://. Click Ok.
4. Set up domain mapping in WordPress
Go to your WordPress website’s network admin, and under Settings > Domains
Enter your domain name, without the http:// and in all lower case.
Your Site ID is the row your website appears in Sites > All Sites.
Click save and you should see your Domain settings in a table below. You can check you’ve associated the the domain with the correct ‘site’ by looking at Sites > All sites and reviewing the ‘Mapping’ column.
5. Thats it!
You should now be set up! I was tearing my hair out for a couple of hours over this. The key is to not set up a subscription in Plesk, but instead use a Domain alias on the original domain.
Hopefully this will save you a couple of hours of muttering ‘but it should be working!