Re: mod_rewrite: remembering environment variables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Joshua,

First of all, thanks for your responses. I've never had to "configure" apache at all prior to this exercise so I'm fairly green in that regard. No better place to start than mod_proxy and mod_rewrite, huh?

Anyways ....proxy server, yes. However, I can't use a real proxy because filtering does not satisfy my requirements. The request needs to be rewritten to the localhost script so it can be returned to the client as part of an HTML frameset. For instance, a request for google.com gets displayed in the browser as part of an HTML frameset with the original request for google being just one of the frames and otherwise unaltered. More stuff happens than just that in the script but the framing is the main point.

BTW, I guess I was using HTTP_HOST and SERVER_NAME interchangeably. Sorry for the confusion, I wasn't expecting them to be different.

So I guess the question would be, is there a way to do this with just mod_proxy, mod_rewrite and a Perl script? Or ...do I have to cobble something from scratch in C and not use apache at all?

On 11/30/06, Joshua Slive <joshua@xxxxxxxx> wrote:
On 11/30/06, A. K. <ak21201@xxxxxxxxx> wrote:
> iptables redirects to the VirtualHost which rewrites to the script housed on
> localhost. The script does some processing then "re-requests" the original
> request based on the parameters and query string passed to it.
>
> google.com will display just fine except for the logo image which gets
> re-written to http://10.0.255.1/intl/en_ALL/images/logo.gif
>
> If I add a third rule, "RewriteRule (.*) http://www.google.com$1 [P]", the
> image is fetched appropriately. The question is how do I dynamically
> determine what the appropriate HTTP_HOST should be?
>
> Is my approach "fixable"? Or should I be attacking this differently?

Seems crazy to me.  I guess you are using this as a proxy server?  Why
not use a real proxy with some filtering (if necessary) to make any
changes to want.

And I don't understand your setup because you seem to imply that there
is a difference between SERVER_NAME and HTTP_HOST.  Why is that the
case?  The SERVER_NAME is already passed in the request, so why not
use that?

Anyway, back to your original question, environment variables won't do
you any good because you are using external redirects.  That means an
entirely new request will be created with entirely new environment
variables.  If you really need to pass the HTTP_HOST, then pass it in
the query string as you are doing with SERVER_NAME.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html > for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux