2011-07-07 39 views
14

मैं एक ASP.NET वेबसाइट क्लासिक एएसपी के साथ मिश्रित (हम नेट में रूपांतरण पर काम कर रहे) और मैं हाल ही में .NET 4.0 के लिए .NET 1.1 से अपग्रेड और एकीकृत करने के लिए बंद करGooglebot नेट System.Web.HttpException का कारण बनता है

System.Web.HttpException (0x80004005) 
    at System.Web.CachedPathData.ValidatePath(String physicalPath) 
    at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context) 

लेकिन जब मैं अपने आप को पेज का अनुरोध, कोई त्रुटि: आईआईएस 7.

में पाइप लाइन के बाद से इन परिवर्तनों ELMAH व्यावहारिक रूप से कोई विस्तार (और स्थिति कोड 404) के साथ क्लासिक एएसपी पन्नों से त्रुटियों रिपोर्ट कर रहा है होता है। ELMAH में दिखाई देने वाली ये सभी त्रुटियां Googlebot क्रॉलर (उपयोगकर्ता एजेंट स्ट्रिंग) के कारण होती हैं।

क्लासिक एएसपी पृष्ठों के लिए .NET कैसे त्रुटियों को उठाता है? क्या इसे एकीकृत पाइपलाइन के साथ करना है?

कोई भी विचार क्यों त्रुटि केवल तब होता है जब गूगल पृष्ठ क्रॉल या कैसे मैं अंतर्निहित गलती खोजने के लिए अधिक जानकारी प्राप्त कर सकते हैं

?

+2

मुझे भी इस समस्या का सामना करना पड़ रहा है, हालांकि मैं उन्हें एएसपी.नेट एमवीसी पृष्ठों पर देखता हूं –

उत्तर

0

ऐसा लगता है कि Google क्रॉलर ऐसे लिंक को थ्रोगेट करते हैं जो अब मौजूद नहीं हैं। आईई आपके साइट पर कुछ दस्तावेज हो सकते हैं जो कुछ अन्य दस्तावेजों को संदर्भित करते हैं, लेकिन वे हटा दिए जाते हैं।

मैं मेरे लिए के रूप में गंभीर नहीं दिखता है, तो आपको लगता है कि अपवाद को फिल्टर करने की सोच सकते हैं।

+0

उन्होंने कहा कि वह खुद पृष्ठ का अनुरोध कर सकते हैं, इसलिए ऐसा लगता है कि पृष्ठ अभी भी मौजूद हैं। – Ocelot20

1

जब आप एकीकृत पाइप लाइन के लिए क्लासिक पाइपलाइन से बदल गया है, आप अनिवार्य रूप से नियंत्रण अपने हाथ में नेट में बदल गया है, जिसका अर्थ नेट एएसपी पार्सर अप कॉल करेंगे। यह .NET प्रबंधित कोड में कोडित कस्टम HTTPModules की क्षमता को जोड़ता है जो प्रतिक्रिया के आउटपुट को बदल सकता है या एल्मा के मामले में, आपको लॉगिंग विवरण देता है।

मैं लॉग को देखता हूं, देखें कि उपयोगकर्ता एजेंट googlebot उस समय उपयोग कर रहा है जब त्रुटि होती है और आपके उपयोगकर्ता एजेंट के साथ किए गए सटीक उसी पथ का पालन करते हैं।

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

यह disables the default check अनुरोध किया है कि यूआरएल विंडोज पथ नियमों का पालन करने के लिए सुनिश्चित करती है:

Mozilla FirefoxUser Agent Switcher ऐड-ऑन के साथ इस के लिए सबसे अच्छा ब्राउज़र

14

अपने web.config फ़ाइल को यह जोड़े है।

समस्या को पुन: करने के लिए, यूआरएल, उदा के अंत तक %20 (URL- सुरक्षित स्थान) को जोड़ने http://example.org/%20। जब वे रिक्त स्थान के साथ गलत टाइप किए गए लिंक का सामना करते हैं तो खोज क्रॉलर्स से यह समस्या देखना आम बात है, उदा। <a href="http://example.org/ ">example</a>

HttpContext.Request.Url संपत्ति अनुगामी अंतरिक्ष, जिसके कारण ELMAH तरह लॉगिंग उपकरण वास्तविक समस्या प्रकट नहीं करते हैं ट्रिम करने के लिए लगता है।

0

यह केवल लागू होता है अगर आप कोणीय उपयोग कर रहे हैं, लेकिन आप इस अगर

<httpRuntime relaxedUrlToFileSystemMapping="false" /> (as mentioned in the previous answers) 

दिखाई देगा और आप मैं एक छवि या स्क्रिप्ट टैग पर एनजी-src की src बजाय का उपयोग करें।ई

<img src="{{SomeModelValue}}" /> 

<img ng-src="{{SomeModelValue}}" /> 

यह भी एक टैग जहां के बजाय href एनजी-href उपयोग कर रहे हैं प्रभावित हो सकता है किया जाना चाहिए।

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