Hello,

I have this modperl handler:

use Apache2::RequestRec ();
use Apache2::Connection ();
use Apache2::RequestUtil ();
use Apache2::ServerUtil ();
use Apache2::Log ();
use Apache2::Request ();

use Apache2::Const -compile => qw(OK FORBIDDEN);

sub handler {

    my $r = shift;
    my $q = Apache2::Request->new($r);
    my $s = Apache2::ServerUtil->server;

    # get customer's ip
    my $ip = $r->connection->remote_ip;

    if ( is_valid_ip($ip) ){
        return Apache2::Const::OK;

    } else {
        $s->log_error("$ip FORBIDDEN");
        return Apache2::Const::FORBIDDEN;
    }
}


which verify the client's IP and return OK if ip is valid, otherwise
return FORBIDDEN.

Now I have to rewrite the requested url to another one, for example,

when customer requests:
http://example.com/path/12345_YWJjZGVmZw.mp4

the handler will remove the string after "_" (includes the "_"
itself), so the url will become:

http://example.com/path/12345.mp4

(because only 12345.mp4 is a real file on the filesystem,
12345_YWJjZGVmZw.mp4 is just virtual.)

How to implement that?

Thanks for your kind helps.

Reply via email to