OK, I see the problem, though I don't know the fix off the top of my head. Your switch matches on both cases, but your string map only matches the lower case version. Here is the output of what happens with each
Lowercase works: GET /livelink/livelink.exe/isthisstillhere HTTP/1.0
HTTP/1.0 301 Moved Permanently
Location: http://ContentServerQA.idexxi.com/OTCS/cs.exe/isthisstillhere
Cache-Control: no-cache
Pragma: no-cache
Connection: close
Content-Length: 0
Uppercase matches the switch, but not the string map. See the LIVELINK still in the URL
GET /LIVELINK/LIVELINK.exe/thisshouldstillbethere?andthis=this HTTP/1.0
HTTP/1.0 301 Moved Permanently
Location: http://ContentServerQA.idexxi.com/LIVELINK/LIVELINK.exe/thisshouldstillbethere?andthis=this
Cache-Control: no-cache
Pragma: no-cache
Connection: close
Content-Length: 0
maybe set HTTP::uri to a variable, string tolower that assignment. Then switch and string map on the now lowercase variable??