Bugün sitemi rss ile takip eden arkadaşlardan biri mesaj atarak sitemdeki Rss beslemesinde sorun olduğunu, resim ve linklerin doğru çalışmadığını söyledi. Bunun nedenini biliyordum ancak şimdiye kadar bir sorun olmadığından dolayı bu şekilde devam ediyordum. Ancak arkadaşın isteği üzerine bu sorunu da kısa sürede çözdüm. Sorunun nedeni ise; kullandığım FCK editör idi. FCK editörde resim ekleme veya link verme olayında src ve href değerleri editörün olduğu domaine aitse FCK editör bu değerleri domain olmadan yazdırıyordu. Bu nedenle de Rss beslemesini farklı domainlerde (feedburner gibi) veya rss okuyucularında takip edenler için linklerde ve resimlerde sorun oluyordu. Bu sorunu ufak bir metot ile çözdüm.
Öncelikle daha önce yazmış olduğum
Asp.net ile Rss Hazırlama yazımda Rss beslemesinin nasıl hazırlandığını anlatmıştım. Sitemde de bu yöntemi kullanıyorum. Sorunu ise bu kodlar ile oyanayarak hallettim.
FCK editörde resim eklerken veya link verirken domain aynı ise değerler şu şekilde oluşuyor:
src=" /uploads/........"
href=" /detay.aspx......."
Böyle olunca Rss beslemesine başka domain üzerinden bakıldığında resimlerde ve linklerde sorun oluyor. Bunun için bu değerlere
http ile başlayan domain bilgisini atamak gerekiyordu. Bunu FCK editörle yapmak mümkün mü değil mi bilmiyorum ama Rss beslemesini kendim oluşturduğum için kodlar ile oynayarak bu değerleri değiştirmek mümkün. Bir metot ile bu sorunu hallettim. Rss'de xml node'larını oluştururken bu metodu kullandım ve yukarıda belirtmiş olduğum değerlere domain bilgisini atayarak bu sorunu da çözmüş oldum.
Metot şöyle:
public string deis(string metin)
{
metin = metin.Replace("src=" + ((char)34).ToString() + "/uploads/", "src=" + ((char)34).ToString() + "http://mehmetduran.com/uploads/");
metin = metin.Replace("href=" + ((char)34).ToString() + "/", "href=" + ((char)34).ToString() + "http://mehmetduran.com/");
return metin;
}
Böylece bu sorunu da kısa sürede çözmüş oldum ve editör ile ilgili herhangi bir ayar yapmadım. Bu hatayı bildiren arkadaşa bir kez daha teşekkürlerimi sunuyorum.
İyi Çalışmalar!