fix($location): retain original encoded path

Change location to retain the expected path encoding. The decode/encode cycle
for the location path loses data as %3B (a semi-colon in the path) and ; (a
sub-delim in the URI for path parameters) are considered to be different.