• 19-05-2009, 19:48:24
    #1
    Elimdeki bir scriptte başlık türkçe olunca 404 hatası alıyorum türkçe karakterleri tanıtamadım yardımcı olan olursa memnun kalırım

    fonksiyon dosyasında aşağıdaki kod bulunuyor

    function seo_clean_titles($title)
    {
        $title = str_replace ( array ('À', 'à', 'Á', 'á', 'È', 'è', 'É', 'é', 'Ì', 'ì', 'Í', 'í', 'Ñ', 'ñ', 'Ò', 'ò', 'Ó', 'ó', 'Ù', 'ù', 'Ú', 'ú', 'Ü', 'ü', 'Ã', '³', 'æ', 'þ', 'á', 'ð', '¨', 'ö', 'Ö'), array ( 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'N', 'n', 'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'o', '', 'ae', 'th', 'a', 'd', 'o', 'o', 'O'), $title);
        $title = str_replace("&", "&", $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $title = str_replace(
                array(":", "?", ".", "!", "$", "^", "*", ",", ";", "'", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+"), 
                            "", $title);
        $title = str_replace(array('_', " ", "&"), array("-", "-", "und"), $title);
        $title = htmlentities(strtolower($title));
        $title = str_replace ( array ('&auml;', '&ouml;', '&uuml;', '&szlig;'), array ( 'ae', 'oe', 'ue', 'ss'), $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $results = rawurlencode($title);    
        $results = str_replace("|", "-", $results);
        $results = str_replace("%80%99", "", $results);
        echo $results;
    } 
    
    function insert_seo_clean_titles($a)
    {
        $title = $a['title'];
        $title = str_replace ( array ('&Agrave;', '&agrave;', '&Aacute;', '&aacute;', '&Egrave;', '&egrave;', '&Eacute;', '&eacute;', '&Igrave;', '&igrave;', '&Iacute;', '&iacute;', '&Ntilde;', '&ntilde;', '&Ograve;', '&ograve;', '&Oacute;', '&oacute;', '&Ugrave;', '&ugrave;', '&Uacute;', '&uacute;', '&Uuml;', '&uuml;', '&Atilde;', '&sup3;', '&aelig;', '&thorn;', '&aacute;', '&eth;', '&uml;', '&ouml;', '&Ouml;'), array ( 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'N', 'n', 'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'o', '', 'ae', 'th', 'a', 'd', 'o', 'o', 'O'), $title);
        $title = str_replace("&amp;", "&", $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $title = str_replace(
                array(":", "?", ".", "!", "$", "^", "*", ",", ";", "'", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+"), 
                            "", $title);
        $title = str_replace(array('_', " ", "&"), array("-", "-", "und"), $title);
        $title = htmlentities(strtolower($title));
        $title = str_replace ( array ('&auml;', '&ouml;', '&uuml;', '&szlig;'), array ( 'ae', 'oe', 'ue', 'ss'), $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $results = rawurlencode($title);
        $results = str_replace("|", "-", $results);
        $results = str_replace("%80%99", "", $results);
        return $results;
    }
    htacceste de aşağıda kod var

    RewriteRule ^(.*)/([-_~*a-zA-Z0-9]+)\|([0-9]+)(\/)?$ view.php?title=$1&id=$2&%{QUERY_STRING}
    RewriteRule ^([-_~*a-zA-Z0-9]+)(\/)?$ categories.php?key=$1


    şuan hatalı olan url

    https://www.domain.com/kategori/-ham...m%26Auml%3B-|1

    başlığın orjinali ise
    Hamilelikte cinsel ilişki sakıncalı mı?
  • 19-05-2009, 20:15:47
    #2
    Eposta Aktivasyonu Gerekmekte
    ENVER adlı üyeden alıntı: mesajı görüntüle
    Elimdeki bir scriptte başlık türkçe olunca 404 hatası alıyorum türkçe karakterleri tanıtamadım yardımcı olan olursa memnun kalırım
    fonksiyon dosyasında aşağıdaki kod bulunuyor
    function seo_clean_titles($title)
    {
        $title = str_replace ( array ('&Agrave;', '&agrave;', '&Aacute;', '&aacute;', '&Egrave;', '&egrave;', '&Eacute;', '&eacute;', '&Igrave;', '&igrave;', '&Iacute;', '&iacute;', '&Ntilde;', '&ntilde;', '&Ograve;', '&ograve;', '&Oacute;', '&oacute;', '&Ugrave;', '&ugrave;', '&Uacute;', '&uacute;', '&Uuml;', '&uuml;', '&Atilde;', '³', '&aelig;', '&thorn;', '&aacute;', '&eth;', '&uml;', '&ouml;', '&Ouml;'), array ( 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'N', 'n', 'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'o', '', 'ae', 'th', 'a', 'd', 'o', 'o', 'O'), $title);
        $title = str_replace("&amp;", "&", $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $title = str_replace(
                array(":", "?", ".", "!", "$", "^", "*", ",", ";", "'", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+"), 
                            "", $title);
        $title = str_replace(array('_', " ", "&"), array("-", "-", "und"), $title);
        $title = htmlentities(strtolower($title));
        $title = str_replace ( array ('&auml;', '&ouml;', '&uuml;', '&szlig;'), array ( 'ae', 'oe', 'ue', 'ss'), $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $results = rawurlencode($title);    
        $results = str_replace("|", "-", $results);
        $results = str_replace("%80%99", "", $results);
    $results= strtolower(stripslashes(strtr($results,"ÜŞÇİ?Öüöşçiğı?&","USCIGOuoscigi,_")));
        echo $results;
    } 
    function insert_seo_clean_titles($a)
    {
        $title = $a['title'];
        $title = str_replace ( array ('&Agrave;', '&agrave;', '&Aacute;', '&aacute;', '&Egrave;', '&egrave;', '&Eacute;', '&eacute;', '&Igrave;', '&igrave;', '&Iacute;', '&iacute;', '&Ntilde;', '&ntilde;', '&Ograve;', '&ograve;', '&Oacute;', '&oacute;', '&Ugrave;', '&ugrave;', '&Uacute;', '&uacute;', '&Uuml;', '&uuml;', '&Atilde;', '³', '&aelig;', '&thorn;', '&aacute;', '&eth;', '&uml;', '&ouml;', '&Ouml;'), array ( 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'N', 'n', 'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'o', '', 'ae', 'th', 'a', 'd', 'o', 'o', 'O'), $title);
        $title = str_replace("&amp;", "&", $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $title = str_replace(
                array(":", "?", ".", "!", "$", "^", "*", ",", ";", "'", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+"), 
                            "", $title);
        $title = str_replace(array('_', " ", "&"), array("-", "-", "und"), $title);
        $title = htmlentities(strtolower($title));
        $title = str_replace ( array ('&auml;', '&ouml;', '&uuml;', '&szlig;'), array ( 'ae', 'oe', 'ue', 'ss'), $title);
        $title = preg_replace("/&([a-z]+);/", "", $title); 
        $results = rawurlencode($title);
        $results = str_replace("|", "-", $results);
        $results = str_replace("%80%99", "", $results);
    $results= strtolower(stripslashes(strtr($results,"ÜŞÇİ?Öüöşçiğı?&","USCIGOuoscigi,_")));
        return $results;
    }
    htacceste de aşağıda kod var
    RewriteRule ^(.*)/([-_~*a-zA-Z0-9]+)\|([0-9]+)(\/)?$ view.php?title=$1&id=$2&%{QUERY_STRING}
    RewriteRule ^([-_~*a-zA-Z0-9]+)(\/)?$ categories.php?key=$1
    şuan hatalı olan url
    https://www.domain.com/kategori/-ham...m%26Auml%3B-|1
    başlığın orjinali ise
    Hamilelikte cinsel ilişki sakıncalı mı?
    olarak düzenle.
  • 19-05-2009, 20:28:09
    #3
    bir değişiklik olmadı malesef
  • 19-05-2009, 20:50:16
    #4
    Eposta Aktivasyonu Gerekmekte
    echo seo_clean_titles("Hamilelikte cinsel ilişki sakıncalı mı? ");
    yaptığınızda çıktısı

    hamilelikte-cinsel-iliski-sakincali-mi olması lazım en son ki halini kullandıysanız.

    ama veritabanındaki verilerde problem varsa yada scripte gelince karakterler bozuluyorsa tr karakter problemi vardır.