404hata.asp PHP Kodu:
<%
Dim istekurl
Dim istekbolum
Dim istek1
Dim istek2
istek1="video"
istek2="videoarsiv"
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
If istekbolum("3") = istek1 Then
Server.Execute("video.asp")
Elseif istekbolum("3") = istek2 Then
Server.Execute("videoarsiv.asp")
Else
Response.Write ("Aradığınız sayfa bulunamadı")
End if
%>
video.asp PHP Kodu:
<%
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
ID = istekbolum("4")
If Not Isnumeric(ID) Then Response.Redirect "index.asp"
filePath = Server.MapPath("database.mdb")
Set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set rs = Server.CreateObject("Adodb.Recordset")
sql="SELECT * FROM tblvideo WHERE idno="&ID&" "
rs.Open sql,dbcon,1
If rs.Eof Then
Response.Write ("Aradığınız Video Bulunamadı")
Else
Response.Write rs("videoadi")
End if
rs.Close
Set rs = Nothing
%>
videoarsiv.asp PHP Kodu:
<%
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
filePath = Server.MapPath("database.mdb")
Set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set rs = Server.CreateObject("Adodb.Recordset")
sql="SELECT * FROM tblvideo ORDER BY idno DESC"
rs.Open sql,dbcon,1
On error Resume Next
page = CInt(istekbolum("4"))
If (page ="" or page = 0) Then page = 1 Else page=page
rs.pageSize= 10
rs.absolutePage=page
Do While Not rs.Eof and i<rs.pagesize
i=i+1
Response.Write ("<br><a href=""http://www.siteadi.com/video/"&rs("idno")&"/"&cevir(rs("videoadi"))&".htm"">"&rs("videoadi")&"</a>")
rs.Movenext
Loop
If page = 1 Then
Response.Write " "
Else
a = page -1
Response.Write "<a href=" & a & qstring &"><< Önceki </a> "
End If
If page + 5 > rs.pagecount Then
b = rs.pagecount
Else
b = page + 5
End If
If page < 5 Then
c = 1
Else
c = page - 5
End If
For j = c To b
If j = page Then
Response.Write "[<b>" & j & "</b>] "
Else
Response.Write "<a href=" & j & qstring &">" & j & "</a> "
End If
Next
If page = rs.pagecount Then
Response.Write " "
Else
a = page + 1
Response.Write "<a href=" & a & qstring &"> Sonraki >></a> "
End If
%>
Yukarıda Kullanmış olduğumuz
cevir fonksiyonu için
cevir.asp PHP Kodu:
<%
Function cevir(data)
data = Replace (data ,"ı","i",1,-1,1)
data = Replace (data ,"ğ","g",1,-1,1)
data = Replace (data ,"ü","u",1,-1,1)
data = Replace (data ,"ş","s",1,-1,1)
data = Replace (data ,"ö","o",1,-1,1)
data = Replace (data ,"ç","c",1,-1,1)
data = Replace (data ,"I","i",1,-1,1)
data = Replace (data ,"Ğ","g",1,-1,1)
data = Replace (data ,"Ü","u",1,-1,1)
data = Replace (data ,"Ş","s",1,-1,1)
data = Replace (data ,"İ","i",1,-1,1)
data = Replace (data ,"Ç","c",1,-1,1)
data = Replace (data ,"Ö","o",1,-1,1)
data = Replace (data ," ","-",1,-1,1)
cevir=data
End Function
%>
Şimdi 404 mantığı ile asp de
SEO uyumu yapmayı anlatmaya başlayalım.
Bilindiği gibi Linux ve .php kullandığınız zaman
SEO uyumu yapmak için .htaccess dosyasından faydalanılır eğer Windows ve .asp kullanıyorsanız bu işlemi gerçekleştirmek için 404 sayfa bulunamadı hatasından faydalanmak gerekir, Öncelikle 404 hatasını anlatalım.
Eğer sunucu yönetim paneliniz Plesk ise Ayarlar kısmından özel hata sayfa kullanımı açmanız daha sonra webdizinlerine girip hata sayfaları kısmına geçip 404 not found ayarını açıp ayarını URL yapıp kutucuğuna
yazıp onaylamanız gerekiyor, eğer URL olarak seçmezseniz .asp dosyası düz metin olarak algılanacaktır.
Unutulmaması gereken 404 hata dosyamız ilgili sayfa bulunamadığı zaman çalışacaktır.
Sıra geldi
cevir.asp nin işlevine, bilindiği gibi web tarayıcılarında Türkçe karakter destek yoktur, zaten internette ingilizce hariç bir dil kullanımı yoktur, global Dünyadaki işlevsel nedenine burada değinmeyeceğiz.
cevir fonksiyonu Türkçe karakterleri inglizce karakterlerlere çevirecek.
Sıra geldi
video.asp ye, Tüm .asp cilerin vede .php cilerin bildiği gibi bir sayfa veritabanından bilgi alacağımız ve ekrana göstereceğimizde Request fonksiyonunu kullanırız, ÖRN : video.asp?id=1 burada id=1 de yere alan 1 i kullanarak veritabanından 1 nolu kaydı ekrana yazdırırız,
artık Request.QueryString yerine Request.ServerVariables("QUERY_STRING") i kullanacağız ve Web tarayısından gelen yazıları alacağız.
ornek.com de biz Request.ServerVariables("QUERY_STRING") imizi video.asp?id=1 yerine kullanmak istiyoruz ve
/ ları sayıyoruz ve 4.
/ dan sonra gelen isteği aldırmak için
Code:
<%
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
ID = istekbolum("4") '4. / dan sonrasını al
%>
kullanıyoruz.
Burada http://www.ornek.com/video/1/ornek-video.htm şeklinde
SEO uyumu yapmayı öğrendik, Eğer http://www.ornek.com/video-1-ornek-video.htm şeklinde yapmak istersek, 404hatasi.asp dosyamızda, video.asp dosyamızda ve videoarsiv.asp dosyamızda birtakım değişiklikler yapmamız gerekir, Nedir bunlar , Ne şekilde olacak ?
404hatasi.asp PHP Kodu:
<%
Dim istekurl
Dim istekbolum
Dim istekbolum2
Dim parcala
Dim isteksayfa
Dim istek1
Dim gostersayfa1
Dim gostersayfa2
gostersayfa1="video"
gostersayfa2="videoarsiv"
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
istekbolum2=istekbolum(3)
parcala=split(istekbolum2,"-")
isteksayfa=parcala(0)
If isteksayfa=gostersayfa1 Then
Server.Execute("video.asp")
Elseif isteksayfa=gostersayfa2 Then
Server.Execute("videoarsiv.asp")
Else
Response.Write ("Aradığınız sayfa bulunamadı")
End if
%>
video.asp PHP Kodu:
<%
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
istekbolum2=istekbolum(3)
parcala=split(istekbolum2,"-")
IDno=parcala(1)
If Not Isnumeric(IDno) Then Response.Redirect "index.asp"
filePath = Server.MapPath("database.mdb")
Set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set rs = Server.CreateObject("Adodb.Recordset")
sql="SELECT * FROM tblvideo WHERE idno="&IDno&" "
rs.Open sql,dbcon,1
If rs.Eof Then
Response.Write ("Aradığınız Video Bulunamadı")
Else
Response.Write rs("videoadi")
End if
rs.Close
Set rs = Nothing
%>
videoarsiv.asp PHP Kodu:
<%
On error Resume Next
Set istekurl = Request.ServerVariables("QUERY_STRING")
istekbolum = Split(istekurl,"/")
istekbolum2=istekbolum(3)
parcala=split(istekbolum2,"-")
page=parcala(1)
filePath = Server.MapPath("database.mdb")
Set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set rs = Server.CreateObject("Adodb.Recordset")
sql="SELECT * FROM tblvideo ORDER BY idno DESC"
rs.Open sql,dbcon,1
If (page ="" or page = 0) Then page = 1 Else page=page
rs.pageSize= 10
rs.absolutePage=page
Do While Not rs.Eof and i<rs.pagesize
i=i+1
Response.Write ("<br><a href=""http://www.siteadi.com/video-"&rs("idno")&"-"&cevir(rs("videoadi"))&".htm"">"&rs("videoadi")&"</a>")
rs.Movenext
Loop
If page = 1 Then
Response.Write " "
Else
a = page -1
Response.Write ("<a href=http://www.ornek.com/videoarsiv-" & a & qstring &".htm><< Önceki </a> ")
End If
If page + 5 > rs.pagecount Then
b = rs.pagecount
Else
b = page + 5
End If
If page < 5 Then
c = 1
Else
c = page - 5
End If
For j = c To b
If j = page Then
Response.Write "[<b>" & j & "</b>] "
Else
Response.Write "<a href=http://www.ornek.com/videoarsiv-" & j & qstring &".htm>" & j & "</a> "
End If
Next
If page = rs.pagecount Then
Response.Write " "
Else
a = page + 1
Response.Write "<a href=http://www.ornek.com/videoarsiv-" & a & qstring &".htm> Sonraki >></a> "
End If
%>
Şeklinde değişiklik yaparız.
Artık .asp de
SEO uyumunu kullanmayı öğreniyoruz ve mutlu oluyoruz,
kafanıza takılan bir nokta varsa
fatih@tuncsoft.com msn adresinden ulaşabilir yada PM atabilirsiniz.