2010-10-05 22 views
6

काम नहीं करता है मैंने 404.aspx नामक 404 त्रुटि पृष्ठ बनाया है जो इसे मैन्युअल रूप से कॉल करते समय शानदार काम करता है। लेकिन web.config और IIS 6.0 में "कस्टम त्रुटि" सेट करने के बाद। यह ठीक से काम नहीं करता है।404 आईआईएस 6.0 और एएसपीएक्स में कस्टम त्रुटि

उदाहरण के लिए, यदि मैं यूआरएल गलत तरीके टाइप करता हूं, तो यह काम नहीं करेगा और नीचे दिए गए जैसा संदेश दिखाई देगा।

XML Parsing Error: not well-formed 
Location: **http://domain/anything** (without an extension) 
Line Number 1, Column 2:<%@ page language="C#" masterpagefile="~/Public.master" autoeventwireup="true" inherits="_404, App_We 

और, यदि मैं इस तरह यूआरएल टाइप करें: http: अंत में //domain/anything.ASPX (.aspx जोड़ना), यह कस्टम त्रुटि पर रीडायरेक्ट करेगा 404.aspx सही ढंग से और ठीक काम करता है।

यह काम करने के लिए मैं क्या कर सकता हूं?

+1

यह इस से संबंधित हो सकता है। कॉम/प्रश्न/3704561/कस्टम-त्रुटि-पेज-इन-आईआईएस -6-0-उपयोग-एएसपीएक्स-पेज – Castrohenge

+0

वही लेखक भी। – mxmissile

उत्तर

7

लगता है जैसे आपने आईआईएस कस्टम त्रुटि पेज प्रकार को के बजाय File पर सेट किया है।

File पर सेट करने से आईआईएस केवल एएसपी द्वारा संसाधित होने के कारण त्रुटि पृष्ठ पर HTTP रीडायरेक्ट करने के बजाय प्रतिक्रिया स्ट्रीम (यानी एक स्थैतिक फ़ाइल के रूप में) को आपके त्रुटि पृष्ठ की सामग्री प्रस्तुत करने का कारण बन जाएगा। नेट।

IIS 6 की आवश्यकता है कि एक 'साइट के भीतर पूर्ण यूआरएल' उदाहरण के लिए, यदि URL संदेश प्रकार का उपयोग कर दर्ज किए जाने की: http: // stackoverflow

/404.aspx

+0

जो मैंने कोशिश की Firs विकल्प था। लेकिन जो कुछ भी मैं लिखता हूं, निम्नलिखित संदेश के साथ एक पीला कॉलआउट दिखाई देता है: गलत यूआरएल प्रारूप। कृपया साइट के भीतर एक पूर्ण यूआरएल दर्ज करें। – UXdesigner

+0

अगर मैं .aspx एक्सटेंशन के बिना यूआरएल में कुछ भी टाइप करता हूं, तो यह एक त्रुटि संदेश दिखाएगा, और यदि मैं कोई पेज नाम टाइप करता हूं और .aspx एक्सटेंशन जोड़ता हूं, तो यह अच्छा त्रुटि पृष्ठ के साथ आएगा। अजीब वस्तु। पता नहीं और क्या करना है। – UXdesigner

+0

@UXDesigner - मेरा अद्यतन उत्तर देखें। – Kev

2

मुझे लगता है कि अपने वाक्य रचना इस प्रकार है:

<customErrors 
     mode="RemoteOnly" 
     defaultRedirect="~/errors/GeneralError.aspx" 
/> 

करें "चालू"

<customErrors 
     mode="On" 
     defaultRedirect="~/errors/GeneralError.aspx" 
/> 

मोड परिभाषित कर रहे हैं अपने आप को मोड सेट कस्टम पृष्ठ को देखने के लिए इस प्रकार है:

  • ऑन - त्रुटि विवरण किसी को भी नहीं दिखाए जाते हैं, यहां तक ​​कि स्थानीय उपयोगकर्ता भी। यदि आपने कस्टम त्रुटि पृष्ठ निर्दिष्ट किया है तो इसका हमेशा उपयोग किया जाएगा।
  • बंद - सभी स्थानीय और दूरस्थ उपयोगकर्ताओं दोनों में त्रुटि विवरण देखेंगे। यदि आपने कस्टम त्रुटि पृष्ठ निर्दिष्ट किया है तो इसका उपयोग नहीं किया जाएगा।
  • दूरस्थ रूप से - स्थानीय उपयोगकर्ताओं को एक स्टैक ट्रेस और संकलन विवरण के साथ विस्तृत त्रुटि पृष्ठ दिखाई देंगे, जबकि दूरस्थ उपयोगकर्ताओं को एक संक्षिप्त पृष्ठ के साथ प्रस्तुत किया जाएगा जो उन्हें सूचित करता है कि एक त्रुटि हुई है। यदि कोई कस्टम त्रुटि पृष्ठ उपलब्ध है, तो यह केवल दूरस्थ उपयोगकर्ताओं को दिखाया जाएगा।
+0

मेरे पास यह मेरे web.config में है <त्रुटि स्थिति कोड = "404" रीडायरेक्ट = "~/404.aspx" /> UXdesigner

+0

धन्यवाद, मैंने जल्दी से अपने webconfig संशोधित किया। मैंने इसे जोड़ा: लेकिन यह काफी समान है। :/ – UXdesigner

+0

@UXdesigner - मुझे आशा है कि आपने मौजूदा कस्टमरर सेटिंग संपादित की है, और एक सेकंड नहीं जोड़ा है। – Greg

संबंधित मुद्दे