Yes.  We do virtual hosting this way.  Register a proc for /, look at
the Host: header and URL, then source/read the files from whatever
directory you want.

The downside is that you are invoking TCL on every request, which has some
overhead.  But we've been doing it for years, have 1M+ hits/day, and our
server is mostly idle.

You could also do the same thing with a C extension (and there is one
already available somewhere...)  We've found that using TCL is easier,
safer, and has excellent performance characteristics.

Jim

>
> Excellent.
>
> Could this technique also be used to, say, set your PageRoot based on the
> request URL, or maybe a Host header?  Maybe not the real PageRoot could be
> set, but maybe a falsified or virtualized one?
> --
> Mark Hubbard: [EMAIL PROTECTED]
> Microsoft Certified Professional
> "Knowledge is Power."
>
> -----Original Message-----
> From: Jim Wilcoxson <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Date: Wednesday, August 22, 2001 2:31 PM
> Subject: Re: Error Handling
>
>
> >We do this.  Register a proc for /dir, put your TCL scripts there, in the
> >/dir handler look at the URL suffix and do a TCL "source" command or
> >ns_returnfile.  (Put a catch around the source command - that's the
> >important part).
> >
> >Jim
> >
> >>
> >> Wow, that is a *great* idea. Then you could register an exception handler
> >> for a url path. If it's possible, it would probably have to be something
> >> set inside the Tcl interp that is running the ADP or Tcl code, before it
> >> starts running the code. Unfortunately I don't yet know enough about Tcl
> >> internals to know how to go about doing this, but it is well worth
> looking
> >> into.
> >>
> >> /s.
> >>
> >>
> >> > Is there any way in AOLServer to register an exception handler?  What I
> >> > would like to avoid is going over all the pages in my site and adding
> >> > a "catch" statement so that if an exception is thrown, either through
> the
> >> > tcl interpreter or or a postgresql query or action, I could catch it
> with
> >> a
> >> > proc or page.
> >> >
> >> > Thanks,
> >> > Vince
> >> >
> >> >
> >>
>

Reply via email to