2012-11-07 16 views

Trả lời

8

Bạn có thể thêm một khuôn mẫu để trang tùy chỉnh của bạn có tên là exception.html.ep hoặc not_found.html.ep ở cuối đơn đăng ký của bạn.

Ví dụ:

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> 

Đối với một tài liệu tham khảo, xem Mojolicious rendering guide.

Các renderer sẽ luôn cố gắng để tìm $ mode. Ngoại lệ. $ Định dạng. * Hoặc not_found. $ Mode. $ Định dạng. * Trước khi giảm trở lại built-in mặc định mẫu.

4

tôi muốn chạy một số mã trong trang 404 của tôi để vay từ đây https://groups.google.com/forum/#!topic/mojolicious/0wzBRnetiHo

tôi đã thực hiện một lộ trình mà bắt tất cả mọi thứ và đặt nó sau khi tất cả các tuyến đường khác của tôi, vì vậy url không phù hợp với các tuyến đường trải qua điều này:

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); 
}; 
Các vấn đề liên quan