Url'den . ve & leri Çıkarma

0
Onaylı Üye
Üye
Katılım
26 Mayıs 2010
Mesajlar
38
Tepki puanı
0
Merhabalar siteme bir konu eklediğimde konunun urlsinde eğer başlıkta & veya . varsa ise urlde bunlarda çıkıyor ve hem sitemapda hem seo açısından bunlar sorun yaratıyor. & ve . sitede sorun olmadan .htacces veya başka bi kodla _ ye dönüştürebilir miyim. Boşluklarda _ olduğu gibi
 
0
Onaylı Üye
Üye
Katılım
7 Eylül 2004
Mesajlar
445
Tepki puanı
24
Konum
Ankara
neden _ ye dönüştüreceksin ki? Daha önce başka bir forumda bunun cevabını vermiştim. .xml de & her zaman hata verir. Bunun çözümü & yi & a çevirmektir.

Şu kodlar işinizi görür ;

Kod:
function adamet($s){
    $turkce = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
    $ingilizce = array('s','s','i','i','g','g','u','u','o','o','c','c');
    $s = str_replace($turkce,$ingilizce,$s);
    $s = preg_replace('/&.+?;/', '', $s);
    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    $s = preg_replace('/\s+/', '-', $s);
    $s = preg_replace('|-+|', '-', $s);
    $s = preg_replace('/&/', '&', $s);
    $s = trim($s, '-');

    return $s;
}
 
0
Onaylı Üye
Üye
Katılım
26 Mayıs 2010
Mesajlar
38
Tepki puanı
0
neden _ ye dönüştüreceksin ki? Daha önce başka bir forumda bunun cevabını vermiştim. .xml de & her zaman hata verir. Bunun çözümü & yi & a çevirmektir.

Şu kodlar işinizi görür ;

Kod:
function adamet($s){
    $turkce = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
    $ingilizce = array('s','s','i','i','g','g','u','u','o','o','c','c');
    $s = str_replace($turkce,$ingilizce,$s);
    $s = preg_replace('/&.+?;/', '', $s);
    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    $s = preg_replace('/\s+/', '-', $s);
    $s = preg_replace('|-+|', '-', $s);
    $s = preg_replace('/&/', '&', $s);
    $s = trim($s, '-');

    return $s;
}

.htaccese mi eklicem, nereye?
 
0
Onaylı Üye
Üye
Katılım
7 Eylül 2004
Mesajlar
445
Tepki puanı
24
Konum
Ankara
Hayır .htaccess e değil. Sitemap dosyana ekleyeceksin, url leri verdiğin linkide şu şekilde kullanacaksın ;

Kod:
<loc>adamet($url);</loc>
 
0
Onaylı Üye
Üye
Katılım
7 Eylül 2004
Mesajlar
445
Tepki puanı
24
Konum
Ankara
sitemap.php dosyasının içerisinde bulunan ,

PHP:
$link = $domain."/".$r['id']."-".sef($r['sarkici'])."_".sef($r['sarki'])."_dinle.html";

kodlarının bir altına ;

PHP:
$al = array('&');

$ver = array('&');

$linkyeni = str_replace($al,$ver,$link);

kodlarını ekle. Daha sonra ,

PHP:
<loc>$link</loc>

kısmını ,

PHP:
<loc>$linkyeni</loc>

ile değiştir. ;)
 
0
Onaylı Üye
Üye
Katılım
26 Mayıs 2010
Mesajlar
38
Tepki puanı
0
sitemap.php dosyasının içerisinde bulunan ,

PHP:
$link = $domain."/".$r['id']."-".sef($r['sarkici'])."_".sef($r['sarki'])."_dinle.html";

kodlarının bir altına ;

PHP:
$al = array('&');

$ver = array('&');

$linkyeni = str_replace($al,$ver,$link);

kodlarını ekle. Daha sonra ,

PHP:
<loc>$link</loc>

kısmını ,

PHP:
<loc>$linkyeni</loc>

ile değiştir. ;)
olmadı yine :S
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
ayar.php dosyanızı da paylaşabilirsiniz. Tabi bilgileriniz gizleyerek
 
0
Onaylı Üye
Üye
Katılım
7 Eylül 2004
Mesajlar
445
Tepki puanı
24
Konum
Ankara
bende bir hata vermiyor site haritanız açılıyor normal bir şekilde
 
Geri
Üst