
I've been sitting here frustrated for a bit this morning so hopefully someone here can shed some light... I have a Citrix Netscaler appliance (v10.0) and I would like to rewrite a URL - essentially when someone visits www.example.com<http://www.example.com>, I would like to redirect them to www.example.com/pls/apex/f?p=103:1<http://www.example.com/pls/apex/f?p=103:1> This seems to work well enough until I get to the question mark, at which point things fall apart. "The requested URL /pls/apex/f was not found on this server." Typically I would just escape the character and be done with it, but no amount of voodoo I've thrown at this thing can find the right combination of characters. Here is a screencap of what I have in place now: http://i.imgur.com/u4lms3b.png Can anyone shoot a suggestion my way off list? Knowing that I'm a few characters away from victory is maddening... Thanks, Jason

On 14 June 2013 16:51, Jason Faraone <JFaraone@paulo.com> wrote:
I've been sitting here frustrated for a bit this morning so hopefully someone here can shed some light...
I have a Citrix Netscaler appliance (v10.0) and I would like to rewrite a URL - essentially when someone visits www.example.com<http://www.example.com>, I would like to redirect them to www.example.com/pls/apex/f?p=103:1<http://www.example.com/pls/apex/f?p=103:1>
This seems to work well enough until I get to the question mark, at which point things fall apart.
"The requested URL /pls/apex/f was not found on this server."
I don't think the problem is with the Netscaler or your escaping; I think that whatever's serving www.example.com doesn't have a page for /pls/apex/f and is quite correctly telling you this. The part after the question mark is called the "query string", and it's (usually) used to communicate parameters to a page - a page which must already exist (except in very specific circumstances), without the query string. What happens if you "curl -v www.example.com"? Do you see the 30[23] redirect coming back? If so, it's a server-side problem and not an issue with the appliance. Jonathan -- Jonathan Matthews Oxford, London, UK http://www.jpluscplusm.com/contact.html

My understanding is that everything after the question mark is used to specify which application for Oracle Application Express to load. For example, /pls/apex/f?p=103:1 and /pls/apex/f?p=102 would load two completely unrelated applications. Because of this, I need the full URL passed along. In the past, I've used an index.html file to redirect users to the proper URL. Since I'm migrating from an Apache server running as a reverse proxy to a Netscaler appliance, this approach is no longer feasible. -----Original Message----- From: Jonathan Matthews [mailto:contact@jpluscplusm.com] Sent: Friday, June 14, 2013 11:19 AM To: nanog@nanog.org Subject: Re: Citrix Netscaler Rewrite Issue On 14 June 2013 16:51, Jason Faraone <JFaraone@paulo.com> wrote:
I've been sitting here frustrated for a bit this morning so hopefully someone here can shed some light...
I have a Citrix Netscaler appliance (v10.0) and I would like to rewrite a URL - essentially when someone visits www.example.com<http://www.example.com>, I would like to redirect them to www.example.com/pls/apex/f?p=103:1<http://www.example.com/pls/apex/f?p =103:1>
This seems to work well enough until I get to the question mark, at which point things fall apart.
"The requested URL /pls/apex/f was not found on this server."
I don't think the problem is with the Netscaler or your escaping; I think that whatever's serving www.example.com doesn't have a page for /pls/apex/f and is quite correctly telling you this. The part after the question mark is called the "query string", and it's (usually) used to communicate parameters to a page - a page which must already exist (except in very specific circumstances), without the query string. What happens if you "curl -v www.example.com"? Do you see the 30[23] redirect coming back? If so, it's a server-side problem and not an issue with the appliance. Jonathan -- Jonathan Matthews Oxford, London, UK http://www.jpluscplusm.com/contact.html

On 14 June 2013 17:45, Jason Faraone <JFaraone@paulo.com> wrote:
My understanding is that everything after the question mark is used to specify which application for Oracle Application Express to load.
It's still just the query string as far as the client and Netscalar are concerned.
For example, /pls/apex/f?p=103:1 and /pls/apex/f?p=102 would load two completely unrelated applications. Because of this, I need the full URL passed along.
That's orthogonal to the problem you described.
In the past, I've used an index.html file to redirect users to the proper URL. Since I'm migrating from an Apache server running as a reverse proxy to a Netscaler appliance, this approach is no longer feasible.
I ask again: what happens if you "curl -v www.example.com"? [ I stand by what I said originally: the problem exists on your backend server, not on the Netscaler. ] Jonathan
participants (2)
-
Jason Faraone
-
Jonathan Matthews