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