Bir arkadaşın bu forumda vermiş olduğu kodlar ile sitemde Sitemap uygulaması yapmak istedim. Yalnız ufak bir sorunla karşılaştım. Sitemdeki linkler AspRewrite şeklinde.
Veritabanından aldığım dosyaadını Türkçe Karakterden arındırıp linke çeviriyorum. Aynı işlemi Sitemap içinde yaptığımda ise hata ile karşılaşıyorum.
KODLAR SOYLE:
<%
ConnStr = "driver=........."
Set baglanti = server.CreateObject("adodb.connection" )
baglanti.Open(ConnStr)
sitemapbasi = 100
dosyasay = baglanti.Execute("select count(id) as dosyasayisi from TABLOADI" )
dosyasayisi=dosyasay("dosyasayisi" )
Set dosyasay = Nothing
Set FSO = Server.CreateObject("Scripting.FileSystemObject" )
FSO.createTextFile Server.MapPath("sitemaps.xml" )
Set haritadizin = FSO.OpenTextFile(Server.MapPath("sitemaps.xml" ),2,0)
veri="<?xml version=" "1.0" " encoding=" "UTF-8" "?>"
veri=veri&"<sitemapindex xmlns=" "http://www.sitemaps.org/schemas/sitemap/0.9" ">"
For L = 1 To Round(dosyasayisi/sitemapbasi)
veri=veri&"<sitemap><loc>http://www.sitem.com/sitemap" &L&".xml</loc></sitemap>"
Next
haritadizinveri=veri&"</sitemapindex>"
haritadizin.write(haritadizinveri)
haritadizin.Close
Set haritadizin = Nothing
'-Buraya kadar site haritası dizinimizi oluşturduk.
For T = 1 To Round(dosyasayisi/sitemapbasi)
FSO.createTextFile Server.MapPath("sitemap" &T&".xml" )
Set harita = FSO.OpenTextFile(Server.MapPath("sitemap" &T&".xml" ),2,0)
haritaveri="<?xml version=" "1.0" " encoding=" "UTF-8" "?>"
haritaveri=haritaveri&"<urlSet xmlns=" "http://www.sitemaps.org/schemas/sitemap/0.9" ">"
Set dosyalar = Server.CreateObject("Adodb.Recordset" )
sutun = "select * from TABLOADI where onay='E' order by id desc"
dosyalar.Open sutun,baglanti,1,3
dosyalar.move (sitemapbasi*(T-1))
Do While not dosyalar.Eof
haritaveri=haritaveri&"<url><loc>http://www.sitem.com/24/" &dosyalar("id" )&"/SiteMap/" &Karakter&".html</loc></url>"
dosyalar.Movenext
Loop
dosyalar.Close
Set dosyalar = Nothing
haritaveri=haritaveri&"</urlset>"
harita.write(haritaveri) --------------61. SATIR BURASI
harita.Close
Set harita = Nothing
Next
Set FSO = Nothing
%>
SAYFASONU
----------------
HATALI KISIM
haritaveri=haritaveri&"<url><loc>http://www.sitem.com/24/"&dosyalar("id")&"/SiteMap/"&Karakter&".html</loc></url>"
Bu satırdaki ---"&Karakter&".--- bölümünü kaldırdığımda kod sorunsuz çalışıyor.
Ama karakter bölümü varken alttaki hatayı veriyor.
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument
/SitemapYapma.asp, line 61
------ 61. SATIR = harita.write(haritaveri) --------------
Sitemap Kodu içinde Hata oluştu
1
●974