में ठीक से काम नहीं मेरे पास है मेरे Global.asax के निचले भाग में निम्नलिखित मार्ग:MVC: 404 मार्ग उत्पादन
//404 ERRORS:
routes.MapRoute(
"404-PageNotFound",
"{*url}",
new { controller = "Error", action = "PageNotFound" }
);
कौन सा दृश्य स्टूडियो में ठीक काम करता है, लेकिन उत्पादन में मैं आईआईएस त्रुटि मिल रही है पृष्ठ।
इस मार्ग को कोई यूआरएल अन्य लोगों द्वारा पकड़ा नहीं गया है, इसलिए आईआईएस के परिप्रेक्ष्य से 404s नहीं है? क्या web.config में मुझे कुछ और करने की ज़रूरत है?
नोट: मैं नहीं 404-विशिष्ट URL पर रीडायरेक्ट करना चाहता हूं; बल्कि मैं अनुरोधित यूआरएल पर 404 त्रुटि पेज की सेवा कर रहा हूं (मुझे विश्वास है कि यह उपयोगिता बिंदु से उचित दृष्टिकोण है)।
अद्यतन
मेरी त्रुटि नियंत्रक में, मैं Response.StatusCode = 404;
सेट कर रहा हूं, जो इस मुद्दे को हो रहा है। जब मैं इसे हटा देता हूं और फिर उत्पादन में तैनाती करता हूं, तो मुझे फिर से अपने दोस्ताना त्रुटि पृष्ठ मिल रहे हैं। एसईओ प्रयोजनों के लिए - - हालांकि, मैं मैं HTTP शीर्ष लेख में 404 स्थिति की आवश्यकता है विश्वास करते हैं तो मेरे सवाल का अब हो जाता है:
संशोधित प्रश्न
कैसे/क्यों आईआईएस प्रतिक्रिया में अवरोध डालने और उसके भेज रहा है आउट-ऑफ-द-बॉक्स 404 त्रुटि, और मैं इसे कैसे रोकूं?
** समाधान * *
Dommer Response.TrySkipIisCustomErrors=true;
जो (मुझे लगता है कि) जरूरी हो गया था सुझाव देने के लिए पुरस्कार हो जाता है। लेकिन वहाँ 2 अन्य मुख्य विवरण इस प्रकार थे:
- कस्टम त्रुटियों web.config में पर होने की जरूरत है (ओह!), और
- 404 कार्यवाही [HandleErrors] विशेषता होनी चाहिए।
यह हर जगह काम
कुछ यूआरएल के बाद से 404 पृष्ठ पर "404-PageNotFound" के अलावा अन्य लेकिन अमान्य पैरामीटर युक्त मार्गों को मैप किया जा सकता है, और के बाद से मैं नहीं करना चाहती अनुप्रेषित बनाना, मैं अपने आधार नियंत्रक में इस कार्रवाई बनाया:
[HandleError]
public ActionResult NotFound()
{
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
return View("PageNotFound", SearchUtilities.GetPageNotFoundModel(HttpContext.Request.RawUrl));
}
और किसी भी नियंत्रक कार्रवाई उस आधार को विरासत में, मैं बस जब भी मैं गलत मार्ग पैरामीटर पकड़ने इस कॉल करने की आवश्यकता:
return NotFound();
ध्यान दें: नहीं RedirectToAction() केक पर
आइसिंग:
मॉडल मैं उत्पन्न करने और देखने में पारित कर दिया है, वह हमारी खोज इंजन में URL के शब्दों वाले बिट्स खिला के बारे में है , और अनुकूल 404 पेज पर सुझाव के रूप में शीर्ष 3 परिणाम प्रदर्शित करना।
खुशी है कि आप इस काम के मिल की तरह से प्रयास करें। यह बहुत अच्छा लग रहा है! –