Apache-Request-Redirect

 view release on metacpan or  search on metacpan

Redirect.pod  view on Meta::CPAN

=head1 NAME

Apache::Request::Redirect - An Apache mod_perl module to redirect url request

=head1 SYNOPSIS

  use Apache::Request::Redirect;

  No synopsis till now

=head1 DESCRIPTION

The purpose of this module is to give a tool to route local request to other web sites.

This module handles locale HTTP requests and it transfer them, pratically unchanged, 
to other destination.

One of the use of this module is to permit to incapsulate, inside your own web site
structure , of external web application.

It's possible to use this module to route local request to other web site recovering
from this the relating html working out and incapsulating inside a different 
graphical structure permitting insteed the navigation of the remote web site 
as it was local.

To do this, every required url from client could be changed and remapping to a 
different one to which it will be give pratically the same HTTP request originally 
send from browser. Remote HTTP response can be totally worked out and then send to
browser in changed form.

This module requires mod_perl and can be used like an Apache module, a standalone CGI or
inside an embedded perl like HTML::Mason.

=head2 ORIGIN OF THIS MODULE

This module has been developed for using inside some web sites wrote in HTML::Mason where
there was necessity to incapsulate all web pages inside an homogeneous graphical structure.

To do this had been created a framework that catchs the request page and incalpsulates it
inside a shared template that holds a lateral navigational menu and an header with a logo
factory to simulate frames in a single html page (pseudo-frame).

All is right untill pages run under Mason that is until pages are html or Mason scrips. 
But we would to use some applications already present in the opensource world to 
implement things like forums and webmail. The programs that satisfy us were 
unfortunately wrote in lite PERL or PHP.

Solutions to show this external programs inside our Mason template was to redirect 
request to this scripts to another virtual local site.

In the main site PERL CGIs and PHP scripts are handled to Mason. In Mason "autohandler"
file request to PHP and PERL scripts are routed, changed the host of the original url, to
two other virtual web site that point to the same filesystem structure of the main web site
(same DocumentRoot Apache directive). 

On this virtual website PERL and PHP scripts run respectivly under mod_perl and PHP engine and
so the response to local request is the right page. Response to browser was built using the
received HTTP stream from virtual sites merging HTTP headers and incapsulate HTTP content 
in the pseudoframe structure.

=head1 CLASS INTERFACE

=head2 CONSTRUCTORS

The C<new> constructor return an istance of C<Apache::Request::Redirect> object. It has three
optional parameters which you can set here or directly using relative methods before 
calling L<"item_redirect"|redirect> method.

  $redirect = new Apache::Request::Redirect(
                                             [args      => $args]
                                             [host      => $host],
                                             [url       => $url],
                                           );

=over 4 



( run in 2.004 seconds using v1.01-cache-2.11-cpan-ceb78f64989 )