Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

ASP, URL Rewrite sorunu

Konu, 'ASP' kısmında kokmaz_yunus tarafından paylaşıldı.

  1. kokmaz_yunus

    kokmaz_yunus Üye

    Kayıt:
    13 Mart 2012
    Mesajlar:
    215
    Beğenilen Mesajlar:
    0
    Arkadaşlar Merhaba web.config dosyası ile url yazdırıyorum fakat bir yerde takıldım.

    Şu anda linkleri ben söyle yazdırıyorum

    <rule name="kategori">
    <match url="^kategori.*\-(\d+)\.html$" />
    <action type="Rewrite" url="kategori.asp?id={R:1}" />
    </rule>

    Bunu sonucu sitead.com/Projelerimiz-kategori-15.html

    fakat ben bunu direk siteadi.com/kategoriadi ve siteadi.com/Ankarada-Fecikaza can-kayiplari-var

    şeklinde yazdırmak istiyorum eğer bu müm kün değilse

    siteadi.com/kategoriler/kategoriadi/15/ ve siteadi.com/haber/ankarada-feci-kaca/548/

    şeklinde yazmak istiyorum web.confing dosyasını nasıl düzenleyeceğim örnek verebilirmisiniz acaba
     
  2. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    156
    Beğenilen Mesajlar:
    16
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    Merhaba, asp de rewrite kullanmadığım için fazla bilgim yok ama php de .htaccess yönlendirilmesinden yola çıkarak anlatayım.
    PHP:
    <match url="^kategori.*\-(\d+)\.html$" />
    bu koddaki .html kısmını silerseniz siteadi.com/kategoriadi şeklini alır. Daha doğrusu kategori.asp?id={R:1} bu kısımdaki id değerine karşılık gelen "{R:1}" bu kısım ney ise siteadi.com/{R:1} bu adrese yönlendirir. Aslında siz sayfa id değeri değilde direk kategori ismiyle çalışmasını istiyorsunuz. Onun için sayfa isminin self adı yani Türkçe karakter olmadan ve boşluk olmadan, veritabanı kullanıyorsanız veri tabanına kayıt yapmanız gerekmekte. Başka yöntemlerde var ama kasma filan yapma ihtimali var ve kod bütünlüğünde artış olabilir. Bunları tamamladıktan sonra id değerini veritabından direk self adını çekip yapabilirsiniz.
    İkinci yöntem de ise bu kadar uğraşmanıza gerek yok.
    PHP:
    <rule name="kategori">
    <
    match url="^kategori.*kategoriler/([_0-9a-z-]+)/([0-9]+)$" />
    <
    action type="Rewrite" url="kategori.asp?baslik={R:1}&id={R:2}" />
    </
    rule>
    Direk id değerine göre sayfanızı çalıştırabilirsiniz. Başlık kısmının kontrolünü yaptırırsanız daha mantıklı olur.

    Umarım anlatabilmişimdir.
     
  3. kokmaz_yunus

    kokmaz_yunus Üye

    Kayıt:
    13 Mart 2012
    Mesajlar:
    215
    Beğenilen Mesajlar:
    0
    pek başaramadım açıkçası şunu nasıl yaparım direk kodunu paylaşabilme şansınız varmı
    kategori için self link olarak çekerim veri tabanından
    siteadi.com/kategori-adi

    haber için

    siteadi.com/haber-adi-buraya-yaziliyor-158

    158 haber idi sonunda html olsun istemiyorum

    yada başında haberdetay gibi
     
  4. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    156
    Beğenilen Mesajlar:
    16
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    Mantık aynı.
    PHP:
    <rule name="haber">
    <
    match url="^haber.*([_0-9a-z-]+)-([0-9]+)$" />
    <
    action type="Rewrite" url="kategori.asp?baslik={R:1}&id={R:2}" />
    </
    rule>
    Bu kadar. Sadece aşağıdaki kısmı haber çekme sayfasıyla değiştirmeniz yeterli olacaktır.
    PHP:
    kategori.asp?
    Geri kalan hep aynı işlem. id değerine göre verilerinizi çekebilirsiniz.
     
    kokmaz_yunus bunu beğendi.
  5. kokmaz_yunus

    kokmaz_yunus Üye

    Kayıt:
    13 Mart 2012
    Mesajlar:
    215
    Beğenilen Mesajlar:
    0
    karegori sayfası için nasıl olacak peki ? bu haber sayfası için zannımca

    teşekkür ederim bu arada
     
  6. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    156
    Beğenilen Mesajlar:
    16
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    PHP:
    <rule name="kategori">
    <
    match url="^kategori.*([_0-9a-z-]+)$" />
    <
    action type="Rewrite" url="kategori.asp?baslik={R:1}" />
    </
    rule>
     
    kokmaz_yunus bunu beğendi.
  7. kokmaz_yunus

    kokmaz_yunus Üye

    Kayıt:
    13 Mart 2012
    Mesajlar:
    215
    Beğenilen Mesajlar:
    0
    Teşekkür Ederim