Apache2/mod_perl2 a redirekty
Jan Kasprzak
kas na fi.muni.cz
Středa Únor 1 17:41:35 MET 2006
Honza Pazdziora wrote:
: On Wed, Feb 01, 2006 at 04:37:33PM +0100, Jan Kasprzak wrote:
: >
: > pouzivate nekdo presmerovani na jine URL v Apache2/mod_perlu2?
: > Ja jsem ted migroval nejake aplikace z Apache1, a toto mi nefunguje:
: >
: > Kdyz ve skriptu (spoustenem nyni z ModPerl::Registry) vypisu
: > hlavicku "Location:", server ji nezpracuje, ale posle klientovi
: > s prazdnym telem a kodem 200 (coz klient nema rad).
:
: Takze chces to hnat pres klienta (status 301 nebo 302), nebo interne?
:
Je mi to v podstate jedno - radeji bych interne, kdyby se vyresil
ten problem s parametry:
: > Kdyz zkusim ziskat Apache2::Request a zavolat $r->internal_redirect($uri)
: > kde $uri je server-relative, cili zacina lomitkem, vyvola se korektni
: > subrequest, ale je problem v predavani parametru - zavolam toto:
: >
: > $r->internal_redirect($q->url(-absolute=>1) . "?a=b"),
: >
: > a ten subrequest dostane parametr a s hodnotou b pouze v pripade,
: > ze puvodni request sam nemel zadne parametry. V opacnem pripade
: > ma subrequest puvodni parametry z hlavniho requestu.
:
: Delas to pres objekt Apache2::SubRequest, nebo primo? Muzeme
: predpokladat, ze se bavime o GET pozadavcich?
Asi v prvni fazi staci GET. Co se tyce Apache2::SubRequest
- nevim; zalezi na tom, co se ma delat, aby se Apache2::SubRequest
pouzil. Staci jen "use"? To mam.
Mozna je problem v CGI.pm - kdyz si dam vypis %ENV,
tak v te veci co se vola subrequestem vidim $ENV{QUERY_STRING}
s novymi parametry. Akoratze CGI.pm vola
if ($MOD_PERL) {
$query_string = $self->r->args;
} else {
$query_string = $ENV{'QUERY_STRING'} if defined $ENV{'QUERY_STRING'};
$query_string ||= $ENV{'REDIRECT_QUERY_STRING'} if defined $ENV{'REDIRECT_QUERY_STRING'};
}
cili ty parametry nebere z $ENV{QUERY_STRING}, ale z Apache requestu.
: [ Technicka administrativni: proc to ma v hlavickach perl na ics.muni.cz
: i perl na mailman.muni.cz. Nestalo by zato to sjednotit? ]
Jo, mam to v TODO, ale nemam vubec cas :-)
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
> Specs are a basis for _talking_about_ things. But they are _not_ a basis <
> for implementing software. --Linus Torvalds <
Další informace o konferenci Perl