SSL by proxy problems (Network Solutions)

Hosts that insist on SSL by proxy, such as Network Solutions), will cause problems with WordPress and WooCommerce because they prevent PHP and the WordPress is_ssl() function from detecting if the page is being served over HTTPS. This causes a redirect loop.

In Network Solutions’ own words:

Network Solutions® uses a proxy SSL; this does not allow the use of server-side variables to detect HTTPS (secure).  All server-side coding will always detect HTTP (non-secure), and for programs that attempt to redirect non-secure connections (http://) to a secure connection (https://) will result in an infinite loop and server error after 30 seconds.

Network Solutions have been aware of this limitation since 2007, so don’t expect a  change in policy anytime soon.

There is no workaround within PHP ( The only workaround is:

  1. Turn off the Force SSL settings within WooCommerce
  2. Use Javascript to redirect to SSL
Network Solutions’ own solution is JavaScript:
<script language="javascript">
if (document.location.protocol != "https:")
document.location.href = "" + document.location.pathname;

Please note that we cannot officially support this non-standard setup.

Did you find this article useful?

  • Server Recommendations

    The first step in setting up your WooCommerce-powered online store is to install WordPress and the WooCommerce plugin itself. But before doing so, you...

  • Installing WooCommerce

    If you have an existing site and want to install WooCommerce, using the WordPress Admin is the most straightforward option as it handles everything fo...

  • Uninstalling WooCommerce

    There are two things to understand when uninstalling or removing WooCommerce. If you deactivate and delete the plugin from WordPress, you...

  • Updating Woocommerce

    Updates to WooCommerce, Storefront, WordPress, and your extensions and payment gateways are a fact of life. Our team of developers are hard at wo...

  • Installed Database Tables

    WooCommerce installs some custom tables to store its data during install. More about tables installed: