|
|
| |
|

|
Klasör Şeklinde Linkler(404 Yönetimi) |
 |
30668 Görüntülenme |
Ç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
http://localhost/Konu/50 ş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 http://localhost/Konu.asprehberi?ID=60 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.
Sorularınızı forumlarda bizlerle paylaşabilirsiniz. |
|
|
|
|
|
| |
|
Bu içerik hakkında 18 yorum yapılmış |
|
|
|
|
|
|
| Yorumlar(18) |
Not : Yorumlar zamana göre
son yorumdan ilk yoruma doğru(azalan) biçimde sıralanmıştır. Yorumlarınız site yöneticileri tarafından onaylandıktan sonra eklenecektir. |
|
+ eğer çalışmazsa;
set strURL = Request.ServerVariables("REQUEST_QUERYSTRING")
satırını aşağıdaki ile değiştirin.
set strURL = Request.ServerVariables("QUERY_STRING") |
| Yazan : hasan | Zaman : 6 Aralık 2007 Perşembe, Saat 03:36 |
|
|
+ Sevgili kardeş... emeğine sağlık yazmışsınız ama bizim gibi yaşı 45 olmuş kişiler bunları anlamaz ki.. Hani şöyle bir örnek olsa ne güzel olur... Yanılıyor muyum ?  |
| Yazan : metin kemal | Zaman : 31 Ekim 2007 Çarşamba, Saat 23:37 |
|
|
+ anlayana sivrisinek saz..
konu için teşekkür ederim..
ne yapmam gerektiğini anlamış oldum..
algoritmadan az biraz anlayanların da kolayca yapabileceğini sanıyorum.. |
| Yazan : ali ak | Zaman : 25 Ekim 2007 Perşembe, Saat 10:32 |
|
|
| + arkadaşlar yöneticilerin bu anlattıklarını basit bir dille ve gayet anlaşılır dille yazmıştır. o yüzden kesinlikle yöneticilere veya bu gibi bilgi kaynağını yazanlara karşı biraz olsun ılımlı yazın. hiç bir şey anlamadıklarını sölüyor bazıları. bence gayet kolay bir dille anlatılmış ama şu vardır asp yi tam anlamıyla bilmeyen bir kimse için bu konu ağırdır. bence ilk önce asp yi bi yutun sonra bu gibi alternatif Querystring işlemlerine bakın. |
| Yazan : developerof scirting lang. | Zaman : 5 Eylül 2007 Çarşamba, Saat 15:53 |
|
|
| + ya arkadaşlar bu internete bir kişide bir konuyu doğru anlatsa şaşarım bir yerleden kopyalayıp yapıştır yapıyorlar denedikleri bile yok düşünün bu konunun 15000 hiti var ama eminim bu işlemi yapan belki 3 kişi yoktur lütfen bu konuyu biraz daha detaylı anlatamazmısınız kendinizi bizim yerimize koyup lütfen öyle anlatın |
| Yazan : orhan | Zaman : 5 Temmuz 2007 Perşembe, Saat 14:14 |
|
|
|
|
|
|