2012-11-07 18 views
6

करने के लिए सर्वर त्रुटि पृष्ठों उपयोगकर्ता परिभाषित त्रुटि पृष्ठ रीडायरेक्ट करने के लिए कैसे के लिए नहीं मिला और उपयोगकर्ता के लिए सर्वर त्रुटि पृष्ठों आप के लिए एक टेम्पलेट में जोड़ सकते हैं पेज Mojolicious लाइटMojolicious लाइट कैसे पुन: निर्देशित नहीं पाया और के लिए उपयोगकर्ता परिभाषित त्रुटि पृष्ठ

उत्तर

8

को परिभाषित आपके लाइटएप के अंत में exception.html.ep या not_found.html.ep नामक आपका कस्टम पेज।

उदाहरण के लिए:

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> 

एक संदर्भ के लिए, Mojolicious rendering guide देखते हैं।

रेंडरर हमेशा अपवाद। खोजने के लिए $ मोड। $ प्रारूप में निर्मित डिफ़ॉल्ट टेम्पलेट्स पर वापस गिरने से पहले $ प्रारूप की कोशिश करेंगे। * या not_found। $ मोड।। *।

4

मैं, इसलिए यहां से उधार https://groups.google.com/forum/#!topic/mojolicious/0wzBRnetiHo

मैं एक मार्ग है कि सब कुछ पकड़ता बना दिया है और मेरे सारे अन्य मार्गों के बाद रखा मेरी 404 पेज में कुछ कोड को चलाने के लिए चाहता था इसलिए यूआरएल कि मार्गों से मेल नहीं खाते इसके माध्यम से गिरें:

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); 
}; 
संबंधित मुद्दे