I wonder if the new, but still undocumented Ns_ConnSetLocationProc() can
help you out:
In AOLserver 3.2, it is in conn.c and look like this:
>*----------------------------------------------------------------------
> * Ns_SetConnLocationProc --
> *
> * Set pointer to custom routine that acts like Ns_ConnLocation();
> *
> * Results:
> * None.
> *
> * Side effects:
> * None.
> *
> *----------------------------------------------------------------------
> */
>void
>Ns_SetConnLocationProc(Ns_LocationProc *procPtr)
>{
> locationPtr = procPtr;
>}
Jerry
At 10:25 AM 6/17/01 +0300, you wrote:
>Well, I'm modifying return.c, because in the Ns_ConnReturnRedirect() it is
>used Ns_ConnLocation(), which has in its comments:
>
> * Ns_ConnLocation --
> *
> * Get the location of this connection. It is of the form
> * METHOD://HOSTNAME:PORT
>
>The problem was that it returns the hostname of the server, which is set in
>the config file and when I am requesting a virtual host, using our patch and
>request http://virtualhost.domain.com/somedir Aolserver redirects my request
>to http://host_of_the_server/somedir/ and not
>http://virtualhost.domain.com/somedir/
>Everything is for the slash here. That's why I had to patch it. I don't
>claim that there isn't any better way to fix this, but that's what we did.
>About the module that you check out, although I'm not a TCL guru, I don't
>know what will be the behaviour of this module if you have more than 15000
>virtualhosts and more than 20Mbps web traffic. I know that our module works
>fine in these conditions and thanks to the prefect code of Aolserver. I
>preffered to write it in C, because I don't have any experience with TCL.
>
>Best regards,
>Boris Georgiev
>
>----- Original Message -----
>From: "Tom Jackson" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Sunday, June 17, 2001 7:22 AM
>Subject: Re: [AOLSERVER] several questions - mostly C API
>
>
> > Boris Georgiev wrote:
> >
> > > http://www.ludost.net/nsvirtual
> >
> > Since redirects use ns_returnredirect, you could have avoided patching
> > return.c
> > For an example of how to do it look at:
> > http://zmbh.com/discussion/vat/vat.txt
> >
> > This module uses nsv arrays to store virtual server variables. Some
> > variables, like pageroot are set on server startup. Others are set per
> > connection. Any of these variables can be used to set the per connection
> > pageroot/templateroot. All variables are available for update without
> > restarting the server. It is easy to add new variables without patching
> > the module code.
> >
> > --Tom Jackson
> >
=====================================================
Jerry Asher [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161 Tel: (510) 549-2980
Berkeley, CA 94709 Fax: (877) 311-8688