Yes, you are write, the server is try to load
/usr/local/apache/htdocs/mybookprices/content.html. And Embperl tells us
that when a requested file is not in the directory, it "walks" up the
directory tree set by EMBPERL_OBJECT_BASE  until it finds the file. 

That's how base.epl, notfound.html and [- Execute ('content.html') -] are
all being served by Apache. They're not in the subdirectory, but being
served out of /htdocs because that's how Embperl works. It doesn't find them
in /bookprices, so it walks the tree.

So, I'm back to the original question, if Apache/Embperl will server out
base.epl, notfound.html, and explicitly requested files [- Execute
('filename.html') - ] form /htdocs directory, why won't it serve out [
Execute ('*')  -] from the /htdocs directory?

Thanks for everyone's help, I think we're getting closer to an answer, which
is important to all of us who want to support dozens or even hundreds of
virtual hosts with a SINGLE base.epl and boilerplate files out of /htdocs.

Dean

-----Original Message-----
From: Ed Grimm [mailto:[EMAIL PROTECTED]]
Sent: Monday, September 30, 2002 4:09 PM
To: Powers, Dean
Cc: [EMAIL PROTECTED]
Subject: Re: [ -Execute ( ' * ' ) -] Doesn't Work!


On Mon, 30 Sep 2002, Andre Landwehr wrote:
> On Mon, Sep 30, 2002 at 12:56:24PM -0700, Powers, Dean wrote:
> > I think the problem is related to the "path" that Embperl sets when it
> > "walks" up the directory path to base.epl
> > (...)
> > It seems that the problem is that "base.epl" is in the directory ABOVE
the
> > DocumentRoot. I've tried [- Execute (../*)  to get the file from the
next
> > directory UP but that doesn't work either. :)
>
> I think what you run into is not a problem of Embperl here but
> one of Apache: You try to request a file that is not inside the
> DocumentRoot and Apache prevents you from doing that (imagine it
> wouldn't, would be nice to request sth. like ../../../etc/passwd
> from big companies servers then *grin*)

It's not so much that it's outside DocumentRoot, but that it's not in
any space Apache is told to view.  So therefore, it isn't the requested
document, because when Apache mapped the filename, it didn't map it to
that directory.

Basically, the server's trying to load

    /usr/local/apache/htdocs/mybookprices/content.html

and that file doesn't exist.

Whether he changes DocRoot or he changes where content.html is does not
matter for this; what matters is he does one of them.  However, it may
matter for other aspects of what he's doing.

I think the suggestion of changing DocRoot and doing a redirect is not
clean, but I can imagine some implementations where that is preferable
to the cleaner solution.

Incidentally, it's not a problem of Apache.  Apache is doing what it's
supposed to do.  It's a confusion regarding how Apache is supposed to
work.

Ed


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to