You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Geoffrey Young <ge...@modperlcookbook.org> on 2003/07/30 15:52:34 UTC
Re: PerlTransHandler headaches
Glenn E. Bailey III wrote:
> Hello,
>
> While I am not new to Perl, I am completely new to mod_perl.
check out the resources at http://perl.apache.org/ - there's lots of good
information there :)
> sub handler {
> my $r = shift;
> return OK;
> }
> 1;
>
> And not matter what I always get a 404 with the following in the log:
>
> [Tue Jul 29 03:27:27 2003] [error] [client 10.0.0.1] File does not
> exist: /
the translation phase is there to map the URI to a filename. by returning
OK, you're telling Apache that you've done the translation (that is, you
have set $r->filename to something useful). since you didn't set
$r->filename, apache is returning 404, since it can't serve the value of
$r->filename.
so, the general rule for PerlTransHandlers is to return DECLINED unless you
set $r->filename.
chapter 12 in the mod_perl Developer's Cookbook deals specifically with the
PerlTransHandler and is as good a place to start learning as any.
HTH
--Geoff
RE: PerlTransHandler headaches
Posted by "Glenn E. Bailey III" <gb...@sprocketdata.com>.
: don't forget, you can't just change handlers and expect them
: to work -
This is probably what has been messing me up. Doing a quick stop
and restart of Apache after any change I made seems to have fixed
my problems, do! Thanks for your help ;-)
. Glenn E. Bailey III
. Network Solutions Developer
. Sprocket Data, Inc.
Re: PerlTransHandler headaches
Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> : so, the general rule for PerlTransHandlers is to return
> : DECLINED unless you
> : set $r->filename.
>
> What I am trying to do is just test, to make sure it is working
> ok. So what I did is wrote the following snippit:
>
> sub handler {
> my $r = shift;
> return DECLINED;
> }
>
> That should still allow me to pull up my default content, correct? As
> of now it still gives me a 404 ..
make sure the request works without the PerlTransHandler installed first.
if it does, then adding that routine should be ok.
don't forget, you can't just change handlers and expect them to work -
because the code is loaded the first time it's seen and not on every
request, you either need to install Apache::StatINC, Apache::Reload, set
PerlFreshRestart On and restart the server or (simplest) fully shutdown and
startup the server.
--Geoff
RE: PerlTransHandler headaches
Posted by "Glenn E. Bailey III" <gb...@sprocketdata.com>.
: check out the resources at http://perl.apache.org/ - there's
: lots of good
: information there :)
Heh, only found one document there concerning the TransHandler
stuff ..
: so, the general rule for PerlTransHandlers is to return
: DECLINED unless you
: set $r->filename.
What I am trying to do is just test, to make sure it is working
ok. So what I did is wrote the following snippit:
sub handler {
my $r = shift;
return DECLINED;
}
That should still allow me to pull up my default content, correct? As
of now it still gives me a 404 ..