Внутри lib/MyApp.pm
У меня есть функция prepare_path
, которая выглядит следующим образом:
sub prepare_path {
my $c = shift;
$c->maybe::next::method( @_ ) ;
my $base_uri_prefix = $c->config->{base_uri_prefix} ;
my @path_chunks = split m[/], $c->request->path, -1;
if (@path_chunks && $path_chunks[0] eq $base_uri_prefix ) {
shift @path_chunks ;
# Create modified request path from any remaining path chunks:
my $path = join( '/' , @path_chunks ) || '/' ;
# Stuff modified request path back into request:
$c->request->path( $path ) ;
} else {
# Modify the path part of the URI to look as if it had a prefix:
$c->request->uri->path( "$base_uri_prefix/" . $c->request->path ) ;
}
}
А в myapp.conf
определяется:
base_uri_prefix extra-part