От главни към малки букви - проблем с кирилицата (r301)

sniperbg

Registered
Здравейте, опитвам се да редиректна главните букви от URL адресите ми в малки, с редирект 301 . Проблемът е, че за адресите на кирилица редиректа не работи, докато за тези на латиница няма проблем . Ето го и варианта, който използвам - приемам и други предложения .

Съдържание на htaccess файла, запаметен в UTF-8 без bom
Код:
# force url to lowercase if upper case is found
RewriteCond %{REQUEST_URI} [A-Z]
# ensure it is not a file on the drive first
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule (.*) rewrite-strtolower.php?rewrite-strtolower-url=$1 [QSA,L]
#BEGIN WP ERROR LOG

Ето го и php файла
PHP:
<?php
if(isset($_GET['rewrite-strtolower-url'])) {
$url = $_GET['rewrite-strtolower-url'];
$url = mb_convert_case($string, MB_CASE_LOWER, "UTF-8"); 
unset($_GET['rewrite-strtolower-url']);
$params = http_build_query($_GET);
if(strlen($params)) {
$params = '?' . $params;
}
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . strtolower($url) . $params, true, 301);
} else {
header("HTTP/1.0 404 Not Found");
die('Unable to convert the URL to lowercase. You must supply a URL to work upon.');
}
exit();
 
Google е доста полезен в такива случаи. Само трябва да си опишеш накратко проблема на английски...
https://www.google.bg/search?q=strtolower+cyrillic+problem&oq=strtolower+cyrillic+problem&aqs=chrome..69i57.10825j0j1&sourceid=chrome&es_sm=93&ie=UTF-8#q=cyrillic+string+lowercase
... и да цъкнеш първия резултат...
http://stackoverflow.com/questions/5777902/converting-russian-characters-from-upper-case-to-lower-case-in-php
... и да намериш кода...
PHP:
$result = mb_strtolower($orig, 'UTF-8');
... и да го copy-paste-неш.

Готово! :?:

+ По сходен начин стигаш дотук:
в htaccess-a сложи [A-ZА-Я]
 

Back
Горе