Mysql
 sql >> Base de données >  >> RDS >> Mysql

Ce que je dois faire pour ouvrir des URL avec des caractères spéciaux

\w correspond aux caractères du mot uniquement lorsque le mot char est [a-zA-Z0-9_] et il n'inclut pas tous les caractères Unicode.

Remplacez votre règle par ceci :

RewriteRule ^post/([^/]+)/?$ single_post.php?blog_title=$1 [L,QSA]

[^/]+ correspondra à tout caractère qui n'est pas / y compris les caractères Unicode également.

Vous pouvez également modifier un peu le code php :

function url_slug($str) {   
    $str = mb_strtolower(trim($str), 'UTF-8');
    $str = preg_replace('/[^\pL\pN]+/u', ' ', $str);
    $str = trim($str);
    $str = preg_replace('/\h+/', '-', $str);
    return $str;
}