2011-07-07 18 views
14

Bir ASP.NET web sitesi klasik asp ile karışık (.NET'e bir dönüştürme üzerinde çalışıyoruz) ve yakın zamanda .NET 1.1'den .NET 4.0'a yükseltilmiş ve tümleşik olarak değiştirilmiştir.Googlebot, .NET System.Web.HttpException neden

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

Ama sayfayı kendim talep, hiçbir hata: bu değişiklikler ELMAH yana IIS 7.

yılında boru hattı practicaly hiçbir ayrıntı (ve durum kodu 404) ile klasik asp sayfalarından hataları raporlama oluşur. ELMAH'de ortaya çıkan tüm bu hatalar Googlebot tarayıcısından (kullanıcı aracısı dizesi) kaynaklanıyor.

.NET nasıl klasik asp sayfaları için hataları alıyor? Bunun entegre boru hattı ile ilgisi var mı?

Hatanın neden yalnızca Google'ın sayfayı taradığında ya da altta yatan hatayı bulmak için daha fazla ayrıntı alabildiğimde herhangi bir fikri var mı?

+2

Bu sorunu yaşıyorum, ASP.NET MVC sayfalarında görsem de, –

cevap

0

Google tarayıcılarının artık varolmayan bir bağlantı kurması gibi görünüyor. IE, sitenizde başka belgelere atıfta bulunan bazı belgeler olabilir, ancak silinir.

Benim için ciddi görünmüyorum, bu nedenle bu özel durumu filtreleyebilirsiniz.

+0

Sayfanın kendisi için istekte bulunabileceğini söyledi, bu yüzden sayfaların hala var olduğu görünecektir. – Ocelot20

1

Klasik boru hattından tümleşik boru hattına geçtiğinizde, denetimi gerçekten .NET'e dönüştürdünüz, yani .NET, ASP Ayrıştırıcısını çağırır. Bu, .NET Yönetilen kodunda kodlanmış özel HTTPModules yeteneğini, yanıtın çıktısını değiştirebilecek veya elmah durumunda, günlüğe kaydetme ayrıntılarını verebilme özelliğini ekler.

Günlüğe baktığımda, googlebot kullanıcı aracısının, hata oluştuğunda ve kullanıcı aracınızla yaptığınız tam olarak aynı yolu izlediğinde hangi kullanıcı aracısının değiştiğini görürüm.

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

Bu disables the default check URL'ler Windows yol kurallara uygun talep emin olur için:

Mozilla Firefox

14

web.config dosyasına bu ekle User Agent Switcher addon ile bunun için en iyi tarayıcı.

Sorunu yeniden oluşturmak için, URL'nin sonuna %20 (URL-kaçan boşluk) ekleyin, ör. http://example.org/%20. Arama tarayıcılarından boşluklarla yanlış yazılan bağlantılar ile karşılaştıklarında bu sorunu görmek oldukça yaygındır. <a href="http://example.org/ ">example</a>.

HttpContext.Request.Url özelliği, sondaki alanı kırpıyor gibi görünüyor, bu nedenle ELMAH gibi günlük oluşturma araçları asıl sorunu ortaya çıkarmıyor. Eğer Açısal kullanıyorsanız

0

bu geçerlidir, ancak bu takdirde

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

görürsünüz ve bir resim veya komut dosyası etiketi üzerinde ng-src src yerine i kullanın.E

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

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

Bu aynı zamanda href yerine ng-href kullanan bir etiketlerini etkileyebilecek olmalıdır.