Rackspace Cloud Sites has a new WordPress install wizard! It’s really handy and saves me a few steps in setting up new WP sites. I discovered that this wizard, along with installing WP in a few easy clicks, automatically installs a plugin called Root Relative URLs. This plugin replaces WP’s absolute links with root-relative links.
So http://www.domain.com/path/to/file becomes /path/to/file
This is with the intention of making the transition easier from development to production servers. That makes perfect sense to me. Moving a WordPress installation to another server has always been a pain. This was already a production environment so I didn’t need to turn it on, but it certainly sounds like a useful plugin for future development!
My problem came up with a shopping cart plugin I was using on this site. WP eStore gets its PayPal IPN link from the WP settings – the same settings the other plugin was changing. So the result was that it was just sending PayPal a root-relative link for the IPN connection and none of the transactions could be completed. PayPal had no idea where to send the notice that the transaction was completed. Ouch!
The tip off was an uneditable WordPress Address (URL) in the General Settings for the WP installation. This was something I hadn’t seen before using the Rackspace setup wizard. After some research I narrowed it down to the Root Relative URLs plugin.
I never actually activated the plugin, but for some reason I still had to go in to the wp-config.php file and remove the following lines that the Root Relative plugin (via Rackspace) had inserted:
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
This fixed my problem with the eStore and PayPal immediately!
I hope that helps someone. It was a major headache to get to the bottom of this one! Good luck. Hopefully these two plugins will learn to play nice together soon because they both are great!