Alfabetik Sıralama :ABCDEFGHIJKLMNOPQRSTUVWXYZ -


Hani görmüşsünüzdür bazı sitelerde linkler klasör yapıları şeklindedir yada dosyaların uzantıları bildiğimiz uzantılara benzemez. Dosya uzantısı olayı normalde server tarafında halledilebilen bir olay olmasına karşın sizde hata sayfası yöntemini kullanarak servera söz geçiremeseniz dahi kendi uzantınızı kullanabilirsiniz.

Mesela bu sitenin dosya uzantıları .asp değil de .findikkurdu olsa hoş olmaz mı? http://www.findikkurdu.com/default.findikkurdu yada http://www.aksu.web.tr/index.aksu gibi linklere sahip olabilirsiniz. Yada hiçbir dosya uzantısı kullanmayıp linklerinizi klasör yapıları şeklinde verebilirsiniz. http://www.findikkurdu.com/konular/20

Bunun için yapılması gereken ilk işlem herhangi bir sayfa bulunamadığı durumlarda serverin istemciye gönderdiği 404 hata kodlu hata sayfasını kendi sayfamız ile değiştirmek. Bu işlemi eğer varsa hosting panelinizden yapabilirsiniz. Yada server yöneticisinden rica edebilirsiniz. Genellikle bu hata sayfasının değiştirilmesi için kullanılan yere "/default.asp" yazmanız gerekir. Veya siz "/404.asp" gibi bir dosyada kullanabilirsiniz. Ben default.asp´yi kullandığınızı varsayıyorum.

Bu işlemden sonra artık herhangi bir sayfa bulunamadığında sayfa bulunamadı hatası yerine karşınıza default.asp sayfanız çıkacaktır. Örneklerimizde kullanmak üzere linkimizin http://www.findikkurdu.com/konular/20 olduğunu varsayıyorum. Adres satırına böyle yazdığınızda yada böyle bir linki tıkladığınız da default.asp sayfasına yönlendiniz. Bilmeniz gereken şey ise siz adres satırına böyle yazdığınızda http://www.findikkurdu.com/default.asp sayfasına gitmezsiniz. Adres satırı aynı kalır, sadece bulunamayan sayfa yerine default.asp sayfası işletilir.

Bu durumda default.asp dosyanızda adres satırında query string şeklindeki bu adresi alıp bunun içinden 20 sayısını süzüp kullanıcımıza veritabanımızda ki 20 id numaralı konuyu göstereceğiz. Bunun için öncelikle Request.ServerVariables("QUERY_STRING") diyerek adres satırındaki tüm veriyi alıyoruz. Bu durumda elimize geçen veri 404;http://www.findikkurdu.com/konular/20 şeklinde oluyor. Baştaki 404 sayfa bulunamadı hatasının kodu.

Adres satırında ki veriyi bu şekilde aldıktan sonra 20 değerini almak için sizinde tahmin ettiğiniz gibi bu değeri "/" işaretlerinden bölmemiz gerekiyor. Kod ile örnek verelim.

<%
strQuery = Request.ServerVariables("QUERY_STRING")

strDizi = Split(strQuery,"/")
%>

Elimize geçen dizi elemanlarını buraya yazalım ve aradığımız verinin dizinin kaçıncı elemanı olduğunu görelim.

strDizi(0) =" 404;http:"
strDizi(1) ="" // işaretinin arasında bişey olmadığı için bu değer boş.
strDizi(2) = "www.findikkurdu.com"
strDizi(3) = "konular"
strDizi(4) = "20"

Gördüğünüz üzere bize gereken id numarası dizinin 5 elemanı. (Diziler 0´dan başladığı için numarası 4)

Şimdi şöyle bir sorgu kuralım. Eğer gelen veriler arasında dizinin 4 elemanı "konular" ise id numarası verilen konuyu gösterelim. Değilse işlem yaptırmayalım.

<%
strQuery = Request.ServerVariables("QUERY_STRING")

strDizi = Split(strQuery,"/")

If strDizi(3) = "konular" AND IsNumeric(strDizi(4)) Then

    ´Conn isimli veritabanı bağlantısı açılır
    strSQL = "SELECT * FROM KonularTablosu WHERE id = "& Cint(Trim(strDizi(4))) &" "
    Set KayitSeti = Conn.Execute(strSQL)

Else

    ´Diğer işlemler

End If
%>

İşte bu kadar basit. Siz strDizi(3) dizi elemanı ile gelen veriye bakarak değişik işlemler yaptırabilirsiniz.

<%
´Veri  http://www.findikkurdu.com/konular/20 şeklinde gelmiş olabilir.
If strDizi(3) = "konular" AND IsNumeric(strDizi(4)) Then

    ´Conn isimli veritabanı bağlantısı açılır
    strSQL = "SELECT * FROM KonularTablosu WHERE id = "& Cint(Trim(strDizi(4))) &" "
    Set KayitSeti = Conn.Execute(strSQL)

´Veri  http://www.findikkurdu.com/makaleler/25 şeklinde gelmiş olabilir.
ElseIf strDizi(3) = "makaleler" AND IsNumeric(strDizi(4)) Then

    ´Conn isimli veritabanı bağlantısı açılır
    strSQL = "SELECT * FROM MakalelerTablosu WHERE id = "& Cint(Trim(strDizi(4))) &" "
    Set KayitSeti = Conn.Execute(strSQL)

Else

    ´Diğer işlemler

End If
%>

Birde değişik dosya uzantısı için örnek verelim.

Linkimiz http://www.findikkurdu.com/konular.findikkurdu?konu=20

Dosya uzantımızın findikkurdu olduğunu görüyorsunuz. Siz bunun yerine .aspx yada .jsp gibi bir dosya uzantısı kullanıp ziyaretçilere web programlama da çağ atlamışsınız havası verebilirsiniz.

Öncelikle query bilgimizi alıp "/" işaretlerinden parçalayalım.

<%
strQuery = Request.ServerVariables("QUERY_STRING")

strDizi = Split(strQuery,"/")
%>

Elimize geçen dizi elemanlarını buraya yazalım ve aradığımız verinin dizinin kaçıncı elemanı olduğunu görelim.

strDizi(0) =" 404;http:"
strDizi(1) ="" // işaretinin arasında bişey olmadığı için bu değer boş.
strDizi(2) = "www.findikkurdu.com"
strDizi(3) = "konular.findikkurdu?konu=20"

Gördüğünüz gibi üzerinde işlem yapacağımız değerimiz strDizi(3) dizi değişkeninde. Burada ? işaretinden sonraki kısımda ki değerleri alıp bunlara göre işlemleri bikaç yolla yapabilirsiniz. InStr() ile soru işaretinin nerede olduğunu bulur. sonra = işaretini bulur, bu 2 değer arasında ki veriyi Mid ile alabilirsiniz. Yada Split ile veriyi önce ? işaretinden sonrada = işaretinden parçalayabilirsiniz. Biz InStr() ve Mid() ile yapacağız.

<%
strVeri = strDizi(3)
intBaslangic = InStr(strVeri,"?")
intBitis = InStr(strVeri,"=")

strBolum = Mid(strVeri,intBaslangic+1,intBitis-intBaslangic-1)
%>

strBolum´un çıktısı "konu" olur. Birde konunun id numarasını alalım.

<%
strKonuID = Mid(strVeri,intBitis+1,Len(strVeri)-intBitis)
%>

Bölümün ismi ve konunun id numarası elimizde olduğuna göre yukarıdaki örnek gibi istediğiniz işlemi yaptırabilirsiniz.

Herkese kolay gelsin.



Konu: Hata sayfası(404) ile link yönetimi
 
Okunma Sayısı : 130
Eklenme Tarihi : 31 Ocak 2007, Çarşamba
SONRAKI BILGI : Playboy`un laneti   
Forum Linki:
Aranan Kelime:
 

En Yeni Bilgiler


 ISS PWS DB`Ye Yazma Okuma izni verme ISS PWS DB`Ye Yazma Okuma izni verme
 FSO ile Upload FSO ile Upload
 Rastgele şifre üretmek Rastgele şifre üretmek
 ASP - Boşluksuz(Space) Uzun Kelimeleri Bölme ASP - Boşluksuz(Space) Uzun Kelimeleri Bölme
 ASP ile Base64 Şifreleme ASP ile Base64 Şifreleme
 ASP ile Base64 Şifre Çözme ASP ile Base64 Şifre Çözme
 Tüm harfleri büyütme, küçültme ve kelimelerin ilk harflerini büyütme Tüm harfleri büyütme, küçültme ve kelimelerin ilk harflerini büyütme
 Mailleri bölerek göndermek Mailleri bölerek göndermek
 Türkçe karakterleri ingilizce karşılıklarına çevirmek Türkçe karakterleri ingilizce karşılıklarına çevirmek
 Hata sayfası(404) ile link yönetimi Hata sayfası(404) ile link yönetimi
 Mail okundu bilgisi Mail okundu bilgisi
 Online üyeler Online üyeler
 Önceki sonraki linki Önceki sonraki linki
 ASP ile Web Programcılığı ASP ile Web Programcılığı
 ASP de diziler , dizi değişkenler ASP de diziler , dizi değişkenler
 ASP - Operatörler ASP - Operatörler
 ASP ile MySQL verilerini sayfalama ASP ile MySQL verilerini sayfalama
 ASP ile MS Access verilerini sayfalama ASP ile MS Access verilerini sayfalama
 ADO - Giriş (Bölüm 1 ADO - Giriş (Bölüm 1
 ADO - Connection (Bölüm 2) ADO - Connection (Bölüm 2)
 ASP ile Online Radyo Hizmetine Giriş ASP ile Online Radyo Hizmetine Giriş
 ASP dosyalarını DLL´ye çevirme ASP dosyalarını DLL´ye çevirme
 HTTP 500.100 hatalarına hükmedin HTTP 500.100 hatalarına hükmedin
 ASP ve VBScript nedir? ASP ve VBScript nedir?
 VBScriptte Veri Tipleri VBScriptte Veri Tipleri
 VBScriptte değişkenler ve sabitler VBScriptte değişkenler ve sabitler
 VBScriptte Dictionary Nesnesi VBScriptte Dictionary Nesnesi
 Regular Expressions (Düzenli İfadeler) Regular Expressions (Düzenli İfadeler)
 Şartlı ifadeler Şartlı ifadeler
 Persist Bileşeni ile Email formu Persist Bileşeni ile Email formu
 Vertabanından 2-3-4`erli sıralama Vertabanından 2-3-4`erli sıralama
 Arama Motoru yapmak Arama Motoru yapmak
 Jmail bileşeni ile mail formu Jmail bileşeni ile mail formu
 ASP`ye giriş ASP`ye giriş
 Değiskenler Değiskenler
 ASP başlangıç ASP başlangıç
 Arama Motoru Arama Motoru
 Form bilgileri Form bilgileri
 Veritabanı, kayıt ve silme işlemleri Veritabanı, kayıt ve silme işlemleri
 Veritabanına bağlanmak ve veri almak Veritabanına bağlanmak ve veri almak
 Veritabanı oluşturma Veritabanı oluşturma
 Querystring Querystring
 Mailllist yapımı Mailllist yapımı
 Kayıtları Sayfalara bölmek Kayıtları Sayfalara bölmek
 Sub kullanımı Sub kullanımı
 Ziyaretçi`nin IP Numarasını almak Ziyaretçi`nin IP Numarasını almak
 Sayfaya şifre koymak Sayfaya şifre koymak
 Online kişi sayısı Online kişi sayısı
 Kategorili Sistem Kategorili Sistem
 Tarihler arası veri seçtirmek. Tarihler arası veri seçtirmek.
 GET Yöntemi ile İşlemler GET Yöntemi ile İşlemler
 POST Yöntemi ıle ışlemler POST Yöntemi ıle ışlemler
 ASP`de Güvenlik Önlemleri ASP`de Güvenlik Önlemleri
 Cdonts ile mail formu Cdonts ile mail formu
 FSO ile log tutmak FSO ile log tutmak
 ASPUpload bileşeni ASPUpload bileşeni
 Sunucu Değişkenleri Sunucu Değişkenleri
 Alışveriş ve Sepet Yapımı Alışveriş ve Sepet Yapımı
 Flood koruması Flood koruması
 Sayfaları şifreleme(ENCODE) Sayfaları şifreleme(ENCODE)
 SPLIT Kullanımı SPLIT Kullanımı
 YTL Güncellemesi YTL Güncellemesi
 Tarih ve Saat Fonksiyonları Tarih ve Saat Fonksiyonları
 Döngüler Döngüler
 XMLHTTP XMLHTTP
 NTVMSNBC.COM Haberleri NTVMSNBC.COM Haberleri
 IIS Ayarları 2 IIS Ayarları 2
 ASP Tear ASP Tear
 Rastgele Veri Rastgele Veri
 ASP Jpeg ASP Jpeg
 SQL Komutları SQL Komutları
 Array Nesnesi Array Nesnesi
 If...else ıfadesi If...else ıfadesi
 Tavsiyet Et Tavsiyet Et
 Birden Fazla Alanadı Desteği Birden Fazla Alanadı Desteği
 Online Üyeler Online Üyeler
 Güvenlik Kodu Güvenlik Kodu
 MS SQL Server - 2 MS SQL Server - 2
 MS SQL Server - 1 MS SQL Server - 1
 MS SQL Server - 3 MS SQL Server - 3
 XMLHTTP ile döviz Kurları XMLHTTP ile döviz Kurları
 TL`yi YTL olarak Yazdırmak TL`yi YTL olarak Yazdırmak
 YTL`yi TL olarak Yazdırmak, YTL`yi TL olarak Yazdırmak,
 Dönüşümlü Banner Sistemi Dönüşümlü Banner Sistemi
 IP Filtresi IP Filtresi
 MySmartUpload Bileşeni MySmartUpload Bileşeni
 SQL İle İşlemler SQL İle İşlemler
 Cookie(Çerez) Kullanımı Cookie(Çerez) Kullanımı
 ASP ile Mail gönderme. ASP ile Mail gönderme.
 SQL - Yapısal Sorgu Dili 1 SQL - Yapısal Sorgu Dili 1
 MS SQL Server - 4 MS SQL Server - 4
 Klasör Şeklinde Linkler(404 Yönetimi) Klasör Şeklinde Linkler(404 Yönetimi)
 Http`leri Link Yapmak Http`leri Link Yapmak
 Cookie`s (Çerezler) Cookie`s (Çerezler)
 Renkli Tablolar Renkli Tablolar
 Windows XP`de SMTP Kurulumu Windows XP`de SMTP Kurulumu
 Err Nesnesi Kullanımı Err Nesnesi Kullanımı
 MS SQL Server - 5 MS SQL Server - 5
 Daha Performanslı Kodlar Daha Performanslı Kodlar
 Jmail ile Şifreleme Jmail ile Şifreleme
 Karakter Temizleme Karakter Temizleme
 Sınırsız Kategori Sistemi Sınırsız Kategori Sistemi
 Makale Sayfalama Makale Sayfalama
 IIS Kurulumu ve Yazma İzni IIS Kurulumu ve Yazma İzni
 Geçen Zaman Gösterimi Geçen Zaman Gösterimi
 Include Yöntemleri Include Yöntemleri
 E-Mail adresi kontrolü E-Mail adresi kontrolü
 Açılır Kutu(DropDown) yapımı Açılır Kutu(DropDown) yapımı
 FSO ile Listeleme FSO ile Listeleme
 Tarih Format`ı Tarih Format`ı
 XmlHTTP Türkçe Karakter Problemi XmlHTTP Türkçe Karakter Problemi
 Bileşen Kurulumu Bileşen Kurulumu
 Stored Procedure - MSSQL Stored Procedure - MSSQL
 Ntvmsnbc Haberleri (XmlHTTP) Ntvmsnbc Haberleri (XmlHTTP)
 Tarih Biçimleri Tarih Biçimleri
 Stored Procedure Değişkenler Stored Procedure Değişkenler
 Fonksiyon(Function) Kullanımı Fonksiyon(Function) Kullanımı
 Tablolu Yanyana Sıralama Tablolu Yanyana Sıralama
 Puan sistemi Puan sistemi
 Access`ten MSSQL`e Access`ten MSSQL`e
 SQL Distinct Kullanımı SQL Distinct Kullanımı
 Değer Fonksiyonları Değer Fonksiyonları
 Türkçe karakter kontrol Türkçe karakter kontrol
 ASP Class(Sınıf) Kullanımı ASP Class(Sınıf) Kullanımı
 Üyelik Sistemi Yapımı Üyelik Sistemi Yapımı
 IIS Şifresi Koymak IIS Şifresi Koymak
 Operatörler: Operatörler:
 RSS Sayfası Yapımı RSS Sayfası Yapımı
 Veritabanı Tablo İşlemleri Veritabanı Tablo İşlemleri
 

 

 

Copyright © 2008 Temha.neT