हाँ, यह URL है, जो 404 त्रुटि का कारण बनता है पाने के लिए संभव है, तो आप सिर्फ यकीन है कि आप आईआईएस ठीक से विन्यस्त है बनाने की जरूरत है।
ऐसे दो मामले हैं जिन्हें आपको संभालने की आवश्यकता है, एक वह त्रुटि है जहां त्रुटि .aspx या .NET द्वारा प्रबंधित अन्य पृष्ठ से आती है, और दूसरा वह त्रुटि है जहां त्रुटि खराब फ़ोल्डर से होती है (जैसा कि आपके प्रश्न में है , http://example.com/testurl
) या फ़ाइल नाम (उदाहरण के लिए, * .htm) जिसे .NET द्वारा नियंत्रित नहीं किया जाता है। आईआईएस 7 में, आपको अपने वेब ऐप के लिए "एएसपी.नेट" अनुभाग में ".NET त्रुटि पन्ने" के तहत एक कस्टम 404 त्रुटि और "आईआईएस" खंड में "त्रुटि पेज" के तहत भी कॉन्फ़िगर करना होगा। web.config परिवर्तन अंत कुछ इस तरह की तलाश में:
<system.web>
<!-- other system.web stuff -->
<customErrors defaultRedirect="/Error404.aspx" mode="On" redirectMode="ResponseRewrite">
<error redirect="/Error404.aspx" statusCode="404" />
</customErrors>
</system.web>
<system.webServer>
<!-- other system.webServer stuff -->
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/Error404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
नोट: redirectMode = "ResponseRewrite" ऊपर सूचीबद्ध महत्वपूर्ण है अगर आप अपने 404 पृष्ठों वास्तव में 404 संदेशों वापस जाने के लिए चाहते हैं और मुझे नहीं लगता कि यह कर सकते हैं आईआईएस के माध्यम से सेट किया जाना चाहिए।
मेरे उदाहरण में, मैं एक पृष्ठ 404 त्रुटियों के सभी संभाल करने Error404.aspx बुलाया बनाया। जब एक .NET पृष्ठ (.aspx, आदि) 404 अपवाद फेंकता है, तो मूल फ़ाइल नाम aspxerrorpath querystring चर में पाया जा सकता है। जब एक नियमित एचटीएम या अन्य पृष्ठ 404 त्रुटि का कारण बनता है, तो मूल पथ Request.RawUrl प्रॉपर्टी से पढ़ा जा सकता है।
public partial class Error404 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OriginalUrl = Request.QueryString["aspxerrorpath"] ?? Request.RawUrl;
Server.ClearError();
Response.Status = "404 not found";
Response.StatusCode = 404;
}
public string OriginalUrl { get; private set; }
}
डिफ़ॉल्ट रूप से, 404 त्रुटि पृष्ठ 404 स्थिति कोड वापस नहीं होगा, ताकि आप इसे मैन्युअल रूप से स्थापित करने की आवश्यकता: मैं या तो मामले को संभालने के लिए मेरी Error404.aspx पेज में निम्न कोड का इस्तेमाल किया। अधिक जानकारी के लिए this post देखें।
क्या आपकी समस्या के साथ कोई भाग्य है? यदि आवश्यक हो तो मुझे अपने उत्तर को स्पष्ट करने में खुशी होगी। – rsbarro