Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
1169
Tıklama
0
Öne Çıkarma
Klasör Şeklinde Link // En Açıklamalısından
T
16 yıl
Çavuş
Konu Sahibi

Arkadaşlar Çok Uzun Uğraşlar Sonucu Nasıl Oldugunu Çözebildim...
Durum Karışık Oldugundan Kolay Olmadı Kavramam
Bir Çok Yerde Açıklama Yapılmış Bu Konu Hakkında Ama Her Biri Eksik Anlatımlı
Kimse Tam Olarak Neyin Ne İşe Yaradığını Neden Kullanıldığını Yazmamış...

Bu Durumu Ben Çok Yaşadığım İçin Araştırmalarımda Sizlerinde Aynı Duruma Düşmemesi İçin
En Açıklamalısından Ekliyorum Buraya....

İlk Önce Kendi Bilgisayarınızdan Nasıl Çalıştırıcaz 404.asp Sayfasını Onu Göstereyim

1-Denetim Masası/Yönetimsel Araçlar/IIS Servisi ni Açın
2-Web Site Kısmından Default Web (Varsayılan Web) Seçeneği Üzerinde Sağ Tıklayıp Özelliklerini Açıyoruz
3-Özel Özel Hatalar Kısmına Gelip 404 Hatasını Buluyoruz
4-Bulduktan Sonra Çıft Tıklayarak Açıyoruz ve İçerğini Aynen Şu Şekilde Değiştiriyoruz :
4-1 = İleti Türü : URL
4-2 = URL : /404.asp
5-Tamam Deyip IIS Servisini Kapatıyoruz..

404 Sisteminin Çalışması İçin Gerekeni Yaptık
Resimdende İnceleyebilirsiniz....

< Resime gitmek için tıklayın >

-------------------

Şimdi Gelelim Sistemi Çalıştırmaya

Asp Dosyalarını Çalıştırmamız İçin Bizim Bir Dizinimiz Var (c:\inetpub\wwwroot\),Default Olarak Bu Ayarlanır,Siz Sonradan Değiştirmişseniz O Dizin İçerisinde İşlem Yapıcaksınız.. Örneğin Ben (d:\webler\) Dizini Altında Çalıştırırım Bütün Asp Dosyalarımı....
Bizim Bütün Asp Dosyalarımız Bu Dizin Altında...
Yine Bu Dizin Altına 404.asp Diye Bir Asp Dosyası Açıyoruz...
İçi Şimdilik Boş Kalsın

Örneğimize Gelelim

Diyelimki Veri Tabanımız Var
Veri Tabanımızdada Haber Tablomuz Var,Biz Bu Haber Tablosundaki Kayıtları Alıcaz,Haberin ID Numarasına Göre Klasor Şeklinde Göstericez....

Bu İşlem İçin Linkimiz : <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=haberbaslik/<%=db("haberimizinIDnosu")%>" data-href="haberbaslik/<%=db("haberimizinIDnosu")%>">Tıkla</a>

İlk Önce haberler.asp Sayfamızı Oluşturalım Hemencecik

<!--#include file="db.asp"--> ' DB Bağlantı Kodlarımızın Bulundugu Asp Dosyasını İnclude Ettik
<%

set haber=db.execute("select * from haberler")
while not haber.eof
%>
<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=haber/<%=haber("haberid")%>" data-href="haber/<%=haber("haberid")%>"><%=haber("haberbaslik")%></a> ' Bu Koda Göre Linkimiz : haber/4 Şeklinde Olacaktır
<%haber.movenext : wend%>


Haberlerimizi Sıralattık ve Linkimizide İstediğimiz Ölçüde Verdik
Şimdi Geldi Esas İşe...

Daha Önce Oluşturdugumuz 404.asp Sayfamızı Editleyecek Şekilde Açıyoruz..
Ve İçerisine Kodlamamızı Yazmaya Başlıyoruz....

GelenLink=Request.ServerVariables("QUERY_STRING") ' Adres Çubungunda Dönen Linki Aldık ve GelenLink Değerine Atadık

parcala=Split(GelenLink,"/") ' GelenLink Değerindeki Her / İşaretinden Sonraki Değeri Aldık


Şimdi GelenLinkin Parçalanmış Halini Açıklayayım bu default olarak atanır,sizin yazmanıza gerek yok,sadece degerlerin hangi kısımlara denk geldiğini görmeniz amacıyla yazdım...
parcala(0)="http:"
parcala(1)=""
parcala(2)="localhost" ' standart linkimiz bizim buraya kadar,ıslemımız bundan sonrakılerde olacak herzaman
parcala(3)=Bizim Gönderdiğimiz haber değeri
parcala(4)=Yine Bizim Gönderdiğimiz id değeri


Parçalama İşlemi Bu Şekildedir...Vermiş Olduğumu her "/" işaretinden sonraki değerleri alır...

Parçalanma Şeklinide Gördükten Sonra koşulumuzu Kullanıp Sayfamızı Açtıralım

if parcala(3)="haber" then

set haber=db.execute("select * from haber where haberid="&parcala(4)&"")
response.write haber("habericerik")

elseif parcala(3)<>"haber" then
Böyle Bir Sayfa Bulunmamakta
end if


Örneğin Açıklaması ve Alternatifler :

En Başta Linkimizi haberler.asp sayfasında haber/<%=haber("haberimizinIDnosu")%> olarak verdik...
Farzedelimli Bizim Linkimizin Açılımı haber/5 ...
Sonra 404.asp sayfasına geldik ve GelenLink değerine Adres Cubundaki Linki Komple Aldık...
Sonra parcala değerine atayacak şekilde GelenLink Değerindeki "/" işaretine göre parçalama yaptık
Akabinde Parçalamanın default olarak açılımını yazdık..
Açılımda Linkin En Sonundaki "/" işaretinden sonraki değerin parcala(3) değişkenine denk geldıgını gorduk,yanı parcala(3) bizim klasor olusturacagımız bolum olmakta...
aynı sekılde parcala(4) unde Id degerımız oldugunu goruyoruz...
sonra if kosuluyla parcala(3) değişkeninin haber degerine esıt olup olmadıgını kontrol ettık ve esıt oldugu taktırde tabolumuzdan parcala(4) degerıne (ID NOmuza) denk gelen kayıdı sectırdık...
eger parcala(3) e esıt olman bır sey yok ıse hata yazdırdık.....

alternatif 1 ; diyelim ki veritabanından degilde normal el ile link yapıcaz (menumuzu farz edelım)
bundada linklerimiz aynı sekılde olacak ama herhangı bır sey sectırmeyecegımız ıcın ıd v.b. sadece menumuzun adını yazıp sectırıcez..
link <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=AnaSayfa" data-href="AnaSayfa">Ana Sayfa</a> - <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=Iletisim" data-href="Iletisim">İletişim</a> şeklinde yazarsak
yine aynı sekılde parcala(3) degerıne denk gelecektır....
menumuze denk gelen sayfamızı acıtırırkende yıne aynı sekılde ıf kullanıcaz



parcala(0)="http:"
parcala(1)=""
parcala(2)="localhost" '
parcala(3)=menumuzunetiketi(AnaSayfa & Iletisim & v.b.)

if parcala(3)="AnaSayfa" then
include file="anasayfa.asp"
elseif parcala(3)="Iletisim" then
include file="iletisim.asp"
end if


alternatif 2 ;
diyelimki klasor içinde klasor gosterıcez (siteadi/anamenu/menusayfamız)
bu ıslem ıcın sadece 2 ıslem yapıcaz
1.lınkı buna gore verıcez <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=siteadi/anamenu/menusayfamız" data-href="siteadi/anamenu/menusayfamız">İletişim</a>
2.parcala(3) degerimizi default sıralamasına gore sayısını degıstırmek..Neden Değitirmemiz gerekiyo sayıyı hemen onuda anlatayım...

Şimdi bizim linki parcaladıgımız zaman acılımı

parcala(0)="http:"
parcala(1)=""
parcala(2)="localhost" '
parcala(3)=menumuzunetiketi(AnaSayfa & Iletisim & v.b.)


bu sekılde idi ya

klasor ıcınde klasor verdıgımız ıcın bızım parcalamamızın yenısı
parcala(0)="http:"
parcala(1)=""
parcala(2)="localhost" '
parcala(3)=siteadi
parcala(4)=anamenu
parcala(5)=menusayfamız(AnaSayfa & Iletisim & v.b.)


bu sekılde olacak

parcalama bu sekılde olacagından bız halıyle parcala(5) degerıne gore ıslem yaptırıcaz...
ne kadar fazla klasor ataması yaparsak bızım ıslem yapacagımız degerın sayısı o kadar artar...

Resimden İneceleyebilirsiniz
< Resime gitmek için tıklayın >



işte hepsı bu kadar
umarım yeterınce acıklayıcı olmustur
herhanbı bır sorunuz olursa yazabılırsınız...

Yapmak İstediğimiz Klasor Şeklinde Link İşlemlerinin Hepsini 404.asp Sayfasında Yapıyoruz..Başka Sayfalarda Denemeyin

Kolay Gelsin





< Bu mesaj bu kişi tarafından değiştirildi tlp41 -- 7 Ağustos 2008; 5:09:51 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.