ASP’de URL’yi yeniden yazışımla ilgili

Okulun sitesindeki linkleri Google tarafından kabul edilebilmesi için URLileri değiştirmek istedim.
Önceden linkler şuna benziyordu:

http://www.ispkosova.com/default.asp?midframe=/AboutISP/Schedules.htm

Şimdi ise şöyle:

http://www.ispkosova.com/DailySchedule/

Bu tür bir değişiklik yapmak için önce IIS\\”nin 404 hatasında gösterilecek sayfayı değiştirdim. Çünkü ikinci adresi tıklayınca sayfa bulunamadı hatası veriyor. Ama 404 sayfası yerine bir asp dosyası yerleştirilerek tam istediğim gibi bir değişiklik yaptım.

  • Bu asp dosyası request.ServerVariables(“QUERY_STRING”) değişkenini kullanılarak bır değer ele geçiriyor, ki içeriği:
    404;http://www.ispkosova.com:80/DailySchedule

    gibi birşeydir.

  • Burada split komutunu kullanırız. TheURL2=Split(TheURL,”/”) ile de bir dizi elde ederiz. TheURL2(3) değişkenin içinde “DailySchedule” bulunmaktadır.
  • Ben tam bu adımda bir access veritabanı kullandım. İki sütun oluşturdum: p_Name ve p_URL. İçeriği aşağıdaki gibi bir şey:
Pages
p_Name p_URL
Academics /AboutISP/Academics.htm
AdmissionHome /AboutISP/AdmissionHome.asp
AdmissionPolicy /AboutISP/AdmissionPolicy.htm
BriefHistory /AboutISP/OverView.htm
Brochure /AboutISP/Brochure.htm
Calendar /Subframes/Calendar.asp
Comments /Subframes/Comments.asp
Curriculums /AboutISP/Curriculums.htm
DailySchedule /AboutISP/DailySchedule.htm
  • Küçük bir eşleştirme yapıyoruz TheURL2(3) ve p_Name arasında:
    rst.open "select * from page where p_Name="&TheURL2(3)
  • Eşleşen bir satır varsa:
    call UST(): server.Execute( rst("p_URL") ): call ALT()
  • Üstte yazdığım kodda ilk önce sayfanın üst ve sol tarafını yazdırıyor. Sonra sayfanın ortasına Server.Execute metodu ile istenen sayfayı yerleştiriyor. En sonda da sitenin sağ ve aşt taraflarını yazdırıyor. Bu UST() ve ALT() prosedürleri design.asp adında bir sayfaya kaydettim. Bunu başka bir yazımda bahsederim.
  • Eşleşen satır yoksa sayfa bulunamadı diye bir şeyler yazdırdım… (asıl 404 sayfası)

Bu kadar. Oldu bitti işte.