\w
केवल शब्द वर्णों से मेल खाता है जहां शब्द चार है [a-zA-Z0-9_]
और इसमें सभी यूनिकोड वर्ण शामिल नहीं हैं।
अपना नियम इसमें बदलें:
RewriteRule ^post/([^/]+)/?$ single_post.php?blog_title=$1 [L,QSA]
[^/]+
ऐसे किसी भी वर्ण से मेल खाएगा जो /
. नहीं है यूनिकोड वर्ण भी शामिल हैं।
आप 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;
}