2012-11-07 3 views

risposta

8

È possibile aggiungere un modello per la tua pagina personalizzata denominata exception.html.ep o not_found.html.ep alla fine del tuo blog.

Ad esempio:

use Mojolicious::Lite; 
get '/' => sub { 
    my $self = shift; 
    $self->render(text => "Hello."); 
}; 
app->start; 

__DATA__ 
@@ not_found.html.ep 
<!DOCTYPE html> 
<html> 
    <head><title>Page not found</title></head> 
    <body>Page not found <%= $status %></body> 
</html> 

Per un riferimento, vedere la Mojolicious rendering guide.

Il renderer cercherà sempre di trovare un'eccezione. $ Modalità. Formato $. * O not_found. $ Modalità. Formato $. * Prima di ricadere al default built-in modelli.

4

ho voluto eseguire del codice nella mia pagina 404 in modo da prendere in prestito da qui https://groups.google.com/forum/#!topic/mojolicious/0wzBRnetiHo

ho fatto un percorso che cattura tutto e collocato dopo tutte le mie altre vie, in modo da URL che non corrispondono percorsi a tutto questo:

any '/(*)' => sub { 
    my $self = shift; 
    $self->res->code(404); 
    $self->res->message('Not Found'); 

    # 404  
    $self->stash({ 
     # ... my stuff in the stash ... 
    }); 

    $self->render('mytemplate', status => 404); 
};