अपवाद फेंकने के बजाय मैं उपयोगकर्ता को एएसपी.नेट एमवीसी में कस्टम 404 पेज पर रीडायरेक्ट कैसे करूं?


18

मैं उस अपवाद को कैप्चर करने में सक्षम होना चाहता हूं जो उपयोगकर्ता द्वारा मौजूद एक मौजूदा नियंत्रक का अनुरोध करता है और इसे 404 पृष्ठ पर फिर से निर्देशित करता है। मैं यह कैसे कर सकता हूँ?

उदाहरण के लिए, उपयोगकर्ता http://www.nosite.com/paeges/1 (/pages/ होना चाहिए) अनुरोध करता है। मैं इसे कैसे बना सकता हूं ताकि वे अपवाद स्क्रीन के बजाय 404 पर फिर से निर्देशित हो जाएं?

6

किसी निर्दिष्ट पृष्ठ पर अपनी 404-त्रुटियों को रूट करने के लिए this page पर एक नज़र डालें।

+2

आप जवाब अद्यतन करने के लिए उस में प्रासंगिक विवरण शामिल कर सकते हैं। 17 may. 162016-05-17 05:03:44


16

बस एक मार्ग का उपयोग करें:

// We couldn't find a route to handle the request. Show the 404 page. 
routes.MapRoute("Error", "{*url}", 
    new { controller = "Error", action = "404" } 
); 

इस के बाद से एक वैश्विक हैंडलर हो जाएगा, यह डिफ़ॉल्ट मार्ग के तहत निचले भाग में सभी तरह से डाल दिया।

+6

क्या यह सही है? क्योंकि निश्चित रूप से यदि मैं {नियंत्रक}/{action}/{id} के लिए एक मार्ग परिभाषित करता हूं, तो कहता है, और उपयोगकर्ता यूआरएल को एक नियंत्रक के साथ प्रवेश करता है जो अस्तित्व में नहीं है तो यह पीले रंग की स्क्रीन होगी क्योंकि पहला मार्ग मेल होगा और आपका पकड़ो सभी कभी नहीं पहुंचेगा? 22 oct. 082008-10-22 19:48:03

  0

मैंने अभी यह कोशिश की है, और अभी भी डिफ़ॉल्ट पीले-स्क्रीन 404 प्राप्त करें। 15 dec. 112011-12-15 21:03:17

+1

यह काम करता है, लेकिन इसका मतलब है कि आपके पास अपने सभी नियंत्रकों के लिए मैन्युअल मार्ग होना चाहिए, यानी कोई '{नियंत्रक}/{action}/{id } 'इसके बदले आपको' होम/{एक्शन}/{आईडी} ',' खाता/{एक्शन}/{आईडी} ', आदि 22 jan. 132013-01-22 23:01:38

  0

@ सर्जसागन, आजकल, आप मार्ग की बाधाओं का उपयोग कर सकते हैं, जैसे: 'मार्ग .MapRoute ( नाम: "होम", यूआरएल: "{action}", डिफ़ॉल्ट: नया {नियंत्रक = "होम", एक्शन = "इंडेक्स"}, बाधाएं: नया {action = "अनुक्रमणिका | सहायता | ऑर्डर "} );' 08 mar. 162016-03-08 12:43:01


1

एक ही साइट पर इस मिले - Strategies for Resource based 404s

+1

लिंक केवल उत्तर ही एसओ पर निराश हैं। 21 oct. 162016-10-21 22:27:38