Mysql
 sql >> Database >  >> RDS >> Mysql

Cosa devo fare per aprire URL con caratteri speciali

\w corrisponde ai caratteri delle parole solo dove il carattere della parola è [a-zA-Z0-9_] e non include tutti i caratteri Unicode.

Cambia la tua regola in questo:

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

[^/]+ corrisponderà a qualsiasi carattere che non sia / compresi anche i caratteri Unicode.

Puoi anche modificare un po' il codice 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;
}