У меня только один фильтр в теге httpd.conf:
<Location /testproj/A>
SetHandler modperl
PerlInputFilterHandler MyApache2::Test
</Location>
Тест является PerlInputFilterHandler.
Если в этом фильтре есть следующий код:
package MyApache2::Test10;
use strict;
use Apache2::Const qw(OK);
use Apache2::Filter ();
use Apache2::RequestRec ();
use Apache2::RequestIO ();
sub handler {
my $f = shift;
#my $buf = '';
#while($f->read(my $tempbuf, 1024)) {
# $buf = $tempbuf;
#}
my $r = $f->r;
$r->content_type("text/html\n\n");
$r->print("welcome!!!");
return OK;
}
1;
Он генерирует ответ - другими словами, он посылает "Добро пожаловать !!!" в браузер.
Однако, если у меня следующий код (разрешает комментированный код):
package MyApache2::Test10;
use strict;
use Apache2::Const qw(OK);
use Apache2::Filter ();
use Apache2::RequestRec ();
use Apache2::RequestIO ();
sub handler {
my $f = shift;
my $buf = '';
while($f->read(my $tempbuf, 1024)) {
$buf = $tempbuf;
}
my $r = $f->r;
$r->content_type("text/html\n\n");
$r->print("welcome!!!");
return OK;
}
1;
Это не работает. "Добро пожаловать !!!" не идет в браузер - '404' делает.
Можете ли вы предложить что-то здесь?
Большое спасибо!