Network Solutions Redirects

by Alan Da Costa

dns

We recently ran into an interesting problem with Network Solutions DNS redirects. As part of consolidating two sites into one and maintaining good SEO, we needed to enable redirects from all old URLs as well as non-www to www. Sounds simple, right?

URL Encoding

URLs have a concept of representing a wide range of characters. In some cases, we need to use reserved characters like # or character data like an empty space in a URL. This is done by substituting with % + Hex character value.

Fragment Identifiers

URLs can link to an object on a page. The named anchor part of a URL, after the #, is called the Fragment Identifier.

Generally, when you send a web request, web servers don’t need to know about a fragment identifier. This is more of the browsers concern. The web server can know about a fragment identifier, but it should transparently pass your request along so your browser can load the page with the defined fragment identifier.

URL Decoded Redirects

In the following example, we want to view all posts tagged with #5thsummer. We can’t use the # directly in our URL because it represents a tag in our application. The intention is to specifically not use it as a fragment identifier. We have to use a URL Encoded version of # when accessing this tag in a URL.

➥ curl -I http://standardhotels.com/tagged/%235thsummer
HTTP/1.1 301 Moved Permanently
Server: Sun-ONE-Web-Server/6.1
Date: Fri, 09 Oct 2015 20:17:09 GMT
Content-length: 122
Content-type: text/html
Location: http://www.standardhotels.com/tagged/#5thsummer
Connection: close

Network Solutions URL decodes %235thsummer to #5thsummer in the 301 redirect.

I expect a redirect to http://www.standardhotels.com/tagged/%235thsummer rather than http://www.standardhotels.com/tagged/#5thsummer. The redirect Network Solutions provides makes the %235thsummer portion of our URL look like a fragment identifier.

Workaround

I provided written and verbal descriptions of the problem to Network Solutions and was told the issue won’t be fixed. The support rep said our server was handling the redirect but that wasn’t likely (pssstt. our client doesn’t have a Sun-ONE-Web-Server or own the redirect host source IP). I was eventually told the workaround is to use another DNS provider.