Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que preciso fazer para abrir URLs com caracteres especiais


\w corresponde a caracteres de palavra apenas onde o caractere de palavra é [a-zA-Z0-9_] e não inclui todos os caracteres unicode.

Altere sua regra para isso:
RewriteRule ^post/([^/]+)/?$ single_post.php?blog_title=$1 [L,QSA]

[^/]+ corresponderá a qualquer caractere que não seja / incluindo caracteres unicode também.

Você também pode ajustar o código php um pouco:
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;
}