Paylasalim.forumdizini.com (P.F)

Would you like to react to this message? Create an account in a few clicks or log in to continue.

    Klasör Şeklinde Linkler(404 Yönetimi)(ASP.NET)

    hako18
    hako18
    Site Yöneticisi
    Site Yöneticisi


    Klasör Şeklinde Linkler(404 Yönetimi)(ASP.NET) Fenerb10
    Mesaj Sayısı : 553
    Kayıt tarihi : 25/10/09
    Forum Başarısı : 12372
    Rep Puanı : 12
    Cinsiyeti : Klasör Şeklinde Linkler(404 Yönetimi)(ASP.NET) I_icon_gender_male Doğum tarihi : 22/02/90
    Yaş : 34
    Hangi Şehir : Ankara
    Hangi Ülke : Türkiye
    Lakap : Ayı Boğan

    Klasör Şeklinde Linkler(404 Yönetimi)(ASP.NET) Empty Klasör Şeklinde Linkler(404 Yönetimi)(ASP.NET)

    Mesaj tarafından hako18 Cuma Ocak 08, 2010 3:31 am

    Çok istenilen bu konuyu ayrı cevap vermektense nasıl yapıldığını buraya yazarak herkes ile paylaşmak istedim.
    Bu sistemde bu sitede kullanılan ile aynı sistem yani 404 mantığıdır.Linkler' Konu/1234 şeklinde yani klasör gibi gözüküyor.Fakat bu kadar klasör oluşturulmuyor.Bunun yerine basit bir hile kullanılıyor.
    Siz böyle bir adres yazdığınız zaman 404 hatası olarak Default ayarlarda gelen 404 sayfasına gidiyorsunuz.404 sayfasını kendi oluşturmuş olduğumuz herhangi bir sayfaya yönlendirerek bu kodu işleterek ID numarasını ve hangi sayfanın çağırılcağını inceleyeceğiz.

    Bu yönlendirme için 404.asp adında bir sayfamız olsun.Eğer bu sayfa FTP'nizde ana dizinde ise Kontrol Panel'inizden veya hosting sağlacınız ile bu yönlendirmeyi yapmak için 404 hatasının Türünü URL olarak seçilmesi ve /404.asp yapmanız gerekir.URL olarak seçilmesi önemlidir çünkü diğer türlü sayfanın içerik kodları gözükecektir.Ben ise size bunu kendi localhost'umuzda nasıl yapılacağını anlatacağım.
    Control Panel'deki Administrative Tools(Yönetimsel Araçlar) bölümünü açın.Orada Default Web Site'in özelliklerine girin ve yukarıdan Custom Errors bölümüne gelin.Hemen aşağıdaki 404 olarak yazan hata türünü bulun ve ve çift tıklayarak özelliklerine girin.Burada Message Type(Mesaj Türü)'nü URL seçin ve URL olarak da alta /404.asp yazın.
    Tamam diyerek uyguladıktan sonra IIS Manager'ı kapatabilirsiniz.Şimdi ise sayfamızı nasıl düzenleyeceğimize geldi sıra.

    Default olarak kurduysanız root dizininiz yani c:\inetpub\wwwroot\ klasörü altında bir 404.asp adında text sayfası oluşturun.İçi boş olsun.
    Diyelimki veritabanınızda konular tablosu var ve buna göre bir adres yazıcaz.Sayfa linkimiz

    [Linkleri görebilmek için üye olun veya giriş yapın.] şeklinde olsun ve bu kodu nasıl işleterek veritabanından 50 nolu ID ye göre seçtirme işlemi yapılacağını görelim.

    <%
    set strURL = Request.ServerVariables("REQUEST_QUERYSTRING")
    bolum = split(strURL,"/")

    if bolum(3) = "Konu" then
    'conn adında veritabanı bağlantınız buraya

    set rs = conn.execute("select * from tablo WHERE ID = " & bolum(4) & "")

    response.write rs("alanismi")

    end if

    %>

    REQUEST_QUERYSTRING ile adres çubuğuna yazılmış olan bütün yazıyı alıyoruz ve bolum değişkenimiz ile alınan adresi parçalara bölüyoruz.Alınan adres tam olarak

    404;http:"http://localhost/Konu/60 'dır.Burada bolum(3) diyerek Konu demiş ve bolum(4) olarak ise ID numarasını almış olduk.Böylece klasör şeklinde gösterek işlemler yapabilirsiniz.Bunun için sadece böyle yapmanız gerekmez istediğiniz bir tür uzantı veya herhangi bir şey olarak istediğinizi yapabilirsiniz.

    Örnek vermek gerekirse
    [Linkleri görebilmek için üye olun veya giriş yapın.] gibi bir adres yazıldığında bu kodu işletmek için

    <%

    set strURL = Request.ServerVariables("REQUEST_QUERYSTRING")
    bolum = split(strURL,"/")
    sayfa = split(bolum(3),".")
    id = split(strURL,"=")


    if sayfa(0) = "Konu" then
    'conn adında veritabanı bağlantınız buraya

    set rs = conn.execute("select * from tablo WHERE ID = " & id(1) & "")

    response.write rs("alanismi")

    end if

    %>

    Aynen bu şekilde bir mantık ile işlemi yapabilirsiniz.Aynı işlem birçok farklı yoldan yapılabilir.Sizin yaratıcılığınıza bağlı bir çözüm olabilir.


    Aynı işlemler 404 mantığı kullanmadan'da yapılmakta fakat bu işlem(ISAPI RE-WRITE) IIS'de çalışmıyor.Bu yüzden IIS kullanan siteler 404 mantığı kullanmaktadır.

      Forum Saati Cuma Mart 29, 2024 9:36 am