Привет! Написал небольшую функцию по редиректу, посмотрите, скажите своe мнение, предложите свои варианты если есть желание. В итоге хочу собрать максимум интересных вариантов и написать что-то вроде статьи на данную тему. PHP: function redirect_from_upper_to_lower() { $array_string = str_split($_SERVER['REQUEST_URI'], 1); foreach ($array_string as $value) { if (ctype_alpha($value)) { if ((ctype_lower($value) != true)) { $str = mb_strtolower($_SERVER['REQUEST_URI']); header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $str); } } } }
Байты строки и так адресуемы, как элементы массива. Зачем использовать mb_-функцию? Кодировка адреса однобайтная. Гляньте код фильтра тут. Может, не самый оптимальный вариант из-за сравнения исходной и обработанной строки, но достаточно компактный. Вы собрались делать редирект на каждый чих символ отдельно? Нужно наоборот пытаться объединять редиректы (пример также см. в показанном фильтре).
Хотя нет. Замена однотипных заголовков в header работает дефолтом, но все равно как-то криво смотрится.