sql >> Base de Datos >  >> RDS >> Mysql

Qué debo hacer para abrir URL con caracteres especiales

\w coincide con caracteres de palabras solo donde la palabra char es [a-zA-Z0-9_] y no incluye todos los caracteres Unicode.

Cambia tu regla a esto:

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

[^/]+ coincidirá con cualquier carácter que no sea / incluyendo caracteres Unicode también.

También puede modificar un poco el código 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;
}