I have developed an app that will live at `xyzdomain.com/app` on our dedicated hosting setup. My client wants the app to be accessible at `clientdomain.com/app`. What options exist for transparently proxying or redirecting requests for `clientdomain.com/app/whatever` to `xyzdomain.com/app/whatever` such that the original URL is preserved for SEO purposes? In other words, the client doesn't want `xyzdomain.com/app/whatever` appearing on Google, but would rather it show up as `clientdomain.com/app/whatever`.

An ordinary frame page at the client domain is not acceptable here, as links within the frame pages would still reference `xyzdomain.com`.

Edit: It sounds like I want a reverse proxy setup, but is it common or even reasonable to setup a reverse proxy that forwards requests to another server not on the same network as the proxy server? Wouldn't that cause twice the latency and double the bandwidth usage?

Edit: Guys, I'm aware of the benefits of using a subdomain. That isn't possible here because the client only wants www.clientdomain.com to show up in search results. So yeah, no subdomain recommendations - it's not an option.
['https://serverfault.com/questions/171510', 'https://serverfault.com', 'https://serverfault.com/users/11577/']
I only see two ways of doing this. One is to use a reverse proxy setup like you say... However, according to your description I would advise against it.

The other solution is to have a server on your client reply to every request with with a HTTP 302 for the corresponding URL on the other side but again I would advise against this setup too because it would require 2 GETs for each page request and would also change the URL visible to the end user (on the address bar).

How does your client feel about a subdomain like `app.clientdomain.com` instead of `clientdomain.com/app`?

My recommendation is that you try to reason with your client about using a subdomain.

Hope this helps.
You will need a virtual server for clientdomain.com on the dedicated hosting setup. Then the issue becomed transperently proxying the request from clientdomain.com to the dedicated server (by IP address). 

If clientdomain.com is not dedicated to the application, using a subdomain would be simpler. This also would need a host (virtual or otherwise) on the dedicated hosting setup.