Merhaba Arkadaşlar bu makalemde Web.Config üzerinde seo dostu link rule'ları oluşturduktan sonra oluşabilecek görüntüleme sıkıntılarından bahsedeceğim. Senaryo 1
Visual Studio Solution Explorer üzerinden sayfaya sürükle bırak yöntemiyle bırakılan resimler html çıktısı şu şekildedir.
url adresi url rewrite yapılmış bir sayfada bu resim görüntülenmicektir. Çünkü resim bulunan sayfa + kendi resim yolunda aramaya çalışacaktır.
Örnek vermek gerekirse şöyle bir url adresinde http://www.kodstrap.com/tr/anasayfa/resimler/deneme.jpg tr ve anasayfa isimli klasör var gibi algılayıp göstermeye çalışıp gösteremeyecektir.
Senaryo 2
Girmiş olduğunuz resim yollarının Web.Config üzerinde bir rule ile örtüşmesi.
Yani. Web.Config üzerinde şöyle bir rule olsun.
<match url="^([a-z]+)/project/(.*)-([0-9]+)">
<action appendquerystring="false" type="Rewrite" url="/proje-detay.aspx?lang={R:1}&D={R:3}"> </action>
</match>
</rule>
Rule'u açıklamak gerekirse. ([a-z]+) a'dan z'ye harflerle başlayan project kelimesiyle devam eden tüm linkleri yeniden yönlendir. Bir tanede bu rule'a uyan link vereyim.
Aşağıdaki gibide bir resim yolumuz var
Üstteki resim yolu verdiğim proje rule'u ile örtüşüyor.
uploads - ([a-z]+),
project - project,
deneme - (.*),
1 - ([0-9]+)
dolayısıyla resim yolunu bir url adresi zannediyor ve proje-detay.aspx isimli sayfaya yönleniyor resim yolu.
Bunu engellemenin 1. yolu resmi project klasöründen kaldırmak yok ben kaldırmak istemiyorum diyorsanız. Web.Config'te en üst rule satırına aşağıdaki rule'u yapıştırmak
<match url=".*\.(gif|jpg|jpeg|png|bmp)$">
<conditions> <add input="{HTTP_REFERER}" negate="true" pattern="^$"> </add></conditions>
</match>
</rule>
Yukarıdaki rule'da anlatılan basitçe söylemek gerekirse match url'de belirtilen uzantıları url rewrite yapma diyoruz.
İyi Kodlar