İçimi okudun valla ben aşağıdaki gibi kullanmaya başladım. dediğin gibi klasik linklerden vazgeçmek lazım.
web.config 'e böyle birşey yazdım
<match url="^(.+)/([^/.]+)/?$" />
<action type="Rewrite" url="{R:1}/{R:2}.asp" />http://domain.com/haber.asp?id=1
yerine bu şekilde çalışıyor.
http://domain.com/haber/?id=1
:
Bunu yazınca:
http://domain.com/haber/?seourl=Zafer partisi İstanbul Adayını tanıttı. Türkeş'in son ülke ocakları başkanı Azmi Karamahmutoğlu İstanbul belediye başkan adayı
Bu şekilde çeviriyor.
http://domain.com/haber/?seourl=zafer-partisi-i̇stanbul-adayini-tanitti-turkesin-son-ulke-ocaklari-baskani-azmi-karamahmutoglu-i̇stanbul-belediye-baskan-adayi
Şimdi şu ?seourl='den de kurtulmaya çalışıyorum. Son istediğim bu şekilde olsun.
http://domain.com/haber/zafer-partisi-i̇stanbul-adayini-tanitti-turkesin-son-ulke-ocaklari-baskani-azmi-karamahmutoglu-i̇stanbul-belediye-baskan-adayi
Böyle bir kod bloğunu deneyeceğim şimdi olucak galiba.
<rule name="Rewrite haber.asp" stopProcessing="true"> <match url="^haber/([^/]+)/?$" /> <action type="Rewrite" url="haber.asp?seourl={R:1}" /> </rule>
Haber.asp sayfanda id'ye göre haberleri çekmen daha iyi olur. Haber başlıklarını,
<rule name="habercek" stopProcessing="true">
<match url="^(.*)-h([0-9]+).html"/>
<action type="Rewrite" url="haber.asp?id={R:2}" />Yukarıdaki match'e göre düzenlersen aşağıdaki bağlantı çalışır.
domain.com/zafer-partisi-i̇stanbul-adayini-tanitti-h65465465.html
yukarıdaki düzene göre haber içeriklerinde seourl kullanmana gerek olmaz onun yerine haber başlığını kullanabilirsin. Onuda replace ederek türkçe karakterleri ingilizceye çevirir boşluklarıda (-) işareti yaparsın. Aşağıda cevir adında bir replace fonksiyonun olduğu varsayıldı. Nerede kullanacaksan onun öncesinde fonksiyonunu çalıştıman gerek. genelde sayfa başında #include edilir
sayfa içlerinde linklerini de şu şekilde düzenlersin.
<a href="/<%response.write ""&cevir(degisken("baslik"))&""%>-h<%=degisken("id")%>.html"><%=degisken("baslik")%></a>Ayrıca sana birde kategori sayfası lazım seourl veya baslik replace hangisi ile kullanırsan kullan. örnek;
<rule name="katcek" stopProcessing="true">
<match url="^(.*)-haberleri"/>
<action type="Rewrite" url="/kategori.asp?seourl={R:1}" />
</rule>çıktısı : domain.com/asayis-haberleri
Unutmadan Önemli Not: haber.asp ve kategori.asp sayfalarında mutlaka canonical url kullanmalısın.