Magento on Rackspace Cloud Sites
After a little bit of work I was able to setup Magento 1.4 on Rackspace cloud sites. This new version runs quickly and correctly almost by default on Rackspace Cloud sites. I am not sure if this was the result of changes made to the Magento code or changes that Rackspace made to their infrastructure, but version 1.4 runs much better than previous versions on cloud sites. For the most part you simply need to follow the default instructions for setup and configuration of Magento on the Rackspace Cloud. These standard instructions are available both here on the Rackspace Cloud Sites wiki and here on the official Magento wiki.
There are two things that are non standard. The first, as mentioned on the Rackspace wiki, is that if you are using url rewrites you must set RewriteBase / in the .htaccess file. The second change is only needed if you are using ssl pages on your site. Rackspace handles requests through a gateway server that then forwards the request to the web server running your app. The key however, is that the request is only a secure request from the user to the gateway. The request from the Rackspace gateway to the Rackspace Cloud server running Magento is send unsecured. This is not the behavior that Magento expects. The result will be an infinite loop of redirects when you try to visit any https pages on your site. A minor change to the code will fix this problem.
Rackspace includes a value “HTTP_CLUSTER_HTTPS” with the request when the request is secure. Magento normally looks for the standard “HTTPS” value. We need only make a few changes to the file \app\code\core\Mage\Core\Model\Config.php to fix this issue. The correct way to modify Magento core files is to create a copy of the file and move it to the same place except in the \app\code\local\ directory. To make this change we will copy the Config.php file and move it to \app\code\local\Mage\Core\Model\Config.php. You will need to create these folders.
Change line 888 in the newly copied file from:
$secure = (!empty($_SERVER[‘HTTPS']) && ($_SERVER[‘HTTPS']!='off')) || $_SERVER['SERVER_PORT']=='443';
to:
$secure = (!empty($_SERVER['HTTP_CLUSTER_HTTPS']) && ($_SERVER['HTTP_CLUSTER_HTTPS']!='off')) || $_SERVER['SERVER_PORT']=='443';
Let me know if you have any problems or feedback.



At the core, this website is built on the WordPress software. WordPress is the most widely used online blogging and content management solution today. WordPress enabled the developers and designers to more quickly and efficiently deploy a quality and reliable product for our client without expensive and lengthy custom software development.
One of the main pain points with the old website for the headquarters staff at SLG was keeping the website up to date. The old website required headquarters staff to utilize complicated website editing tools and perform manual HTML edits. This method proved to be difficult and the website quickly became outdated.