Arama motorları .NET 2.x sitenizi mi göçertiyor?
02.09.2008 - 12:04 | Atakan E.  | Kendime Notlar  | 0 Yorum |  Tavsiye Et

R2 güncellemesi ile birlikte Bisorusor.com'da ilginç bir hata kaydı ile karşılaşmaya başladık. Diyor ki:

Exception information:
    Exception type: HttpException
    Exception message: Cannot use a leading .. to exit above the top directory.

Biraz araştırma yapınca, konu ile ilgili güzel bir kaynak buldum, olayı gayet net açıklamış. (Aslen Fransızca'dan tercüme)

Teknik bir özetle; Windows 2003, üzerinde IIS 6.0 üzerindeki Asp.net 2.0 sitenizde URL-rewrite altyapısı kullandığınızda arama motorlarının user-agent bilgisi, kod içerisinde System.Web.UI.Html32TextWriter metodu yorumlanırken hataya sebep oluyor.

Teknik olmayan bir özetle; Arama motoru optimizasyonu yapılmış linkli sayfalar, arama motorlarının robotları dolanırken hata üretiyor, ve robotlar hatalı sayfalar görüp, sitenizi indeksleyemiyorlar. Belki indeksten çıkarıyorlar.

Hatanın sizde gerçekleşip gerçekleşemdiğini bir süre önce Microsoft tarafından satın alınan, HTTP debug proxy programı Fiddler kullanarak anlayabilirsiniz. Fiddler'ı açın,  sağ kısımdan Request Builder'a gidin, url'i yazın, alttaki header bilgisinde User agent kısmını  User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)  olarak ayarlayın, Select Session'ı işaretleyip çalıştırın, karşınıza konumuz olan hata mesajı gelecektir.

Server Error in '/' Application.

Cannot use a leading .. to exit above the top directory.

Bu bir bug olsa da, uzun süredir bir fix çıkmadığından (ben görmedim), en hızlı çözüm yolu, yukarıdaki linklerde bahsedildiği gibi VS 2005 ile gelen .browsers uzantılı dosyaları kullanmak. Uygulamanızda Urlrewriter.net kullanmışsanız tahminen Form.browser dosyasına sahipsinizdir, ama onu da biraz değiştirmeniz gerecek.

1 - Projenize App_Browsers sistem dizinini ekleyin
2 - Bu dizin içine Form.browser isimli bir dosya koyun. (Yukarıdaki kaynaklar her robot için ayrı dosyalardan bahsetmişler ama bu durumda her robotun özelliklerini bilmek gerekiyor, onun yerine alttaki gibi genel bir tanım iş görüyor. Şuan denemelerimde bir sorunla karşılaşmadım.)
3 - Dosyayı şu şekile getirin.


<browsers>
 <browser refID="Default">
  <controlAdapters>
   <adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
      adapterType="FormRewriterControlAdapter" />
  </controlAdapters>
  
<capabilities>
   <capability name="activexcontrols" value="true" />
   <capability name="backgroundsounds" value="true" />
   <capability name="cookies" value="true" />
   <capability name="css1" value="true" />
   <capability name="css2" value="true" />
   <capability name="ecmascriptversion" value="1.2" />
   <capability name="frames" value="true" />
   <capability name="javaapplets" value="true" />
   <capability name="javascript" value="true" />
   <capability name="jscriptversion" value="5.0" />
   <capability name="supportsCallback" value="true" />
   <capability name="supportsFileUpload" value="true" />
   <capability name="supportsMultilineTextBoxDisplay" value="true" />
   <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
   <capability name="supportsVCard" value="true" />
   <capability name="supportsXmlHttp" value="true" />
   <capability name="tables" value="true" />
   <capability name="vbscript" value="true" />
   <capability name="w3cdomversion" value="1.0" />
   <capability name="xml" value="true" />
   <capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
  </capabilities>
 </browser>
</browsers>

Urlrewriter.net kullanıyorsanız, yukarıda kırmızı olanlar dışındaki alanlar Form.browser dosyanızda vardır.  Burada <capabilities> tagını eklemiş olduk.

Projeyi derleyip denerseniz sistemin çalıştığını göreceksiniz.


YORUMLAR :  0 Yorum yapıldı.
Yorum bulunamadı


YORUM YAZIN
Adınız Soyadınız
 
e-Posta
Verdiğiniz Puan
Yorumunuz
Beni Hatırla
Güvenlik Numarası
Güvenlik numarasını giriniz
Son Yorumlar
LanédLy_qiS 02/12 20:43
Sanma şâhım herkesi sen sâdıkâne yâr olur
Kazım Fatih Özçelik 24/11 01:07
Gelmek istemeyeni zorlama, gitmek isteyeni tutma...
Zeynep Demirel 17/11 15:31
Şimdi yakalicim seniiii!
E.AKBAŞ 08/11 23:49
Sanma şâhım herkesi sen sâdıkâne yâr olur
Fatih Küçükbaltacı 07/11 15:50
Kullanıcıya sabunun yerini öğretmek.
safa kağnıcı 06/11 08:12
Sanma şâhım herkesi sen sâdıkâne yâr olur
mahmut sünnetci 02/11 16:06
Bu yıldızın arkasında Meyveş nine var!
Taner YILDIZ 31/10 22:10
Sanma şâhım herkesi sen sâdıkâne yâr olur
zeyno 31/10 18:33
Menan Cinleri
Fatih Özçelik 25/10 02:59
İnternet girişimleri ve yatırımlar üzerine Burak Büyükdemir ile bir seminer
Son Foto Yorumlar
sülamettin 02/12 18:22
Yerebatan Sarnıcı
selma 29/11 18:10
Yerebatan Sarnıcı
Bilge Özer 26/11 17:50
Yerebatan Sarnıcı
bilge özer 26/11 17:48
Yerebatan Sarnıcı
okan genç 23/11 15:46
Atatürk'ün Evi
ahmet  21/11 22:51
Halikarnas Mozolesi
KARA BEYAZ 21/11 19:19
Yeşil Türbe
asena kutsal 21/11 18:36
Halil-ür Rahman Camii ve Balıklı Göl
asena kutsal 21/11 18:30
Büyük Postane
ömer nar 16/11 21:11
Atatürk'ün Evi
Yazarlar
Blog Arşivi