Цитата |
---|
написал: AddEventHandler("main", "OnEpilog", "OnABCtoabc"); function OnABCtoabc(){ $notBitrix = strpos($_SERVER['REQUEST_URI'], '/bitrix/'); if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) && $notBitrix === false) { header('Location: //'.$_SERVER['HTTP_HOST'] . strtolower($_SERVER['REQUEST_URI']), true, 301); exit(); } } в init.php Проблем в работе скрипта пока не нашла, буду рада, если что-то вскроется |
Добавил проверку на наличие "?" в строке запроса.
В теории можно обойтись без дополнительного if, используя условные выражения, но мне такой код показался слишком страшным. Тут вроде читабельней. Если у кого будут варианты получше, докидывайте сюда
Код |
---|
AddEventHandler("main", "OnEpilog", "OnABCtoabc"); function OnABCtoabc(){ $notBitrix = strpos($_SERVER['REQUEST_URI'], '/bitrix/'); $haveGet = strripos($_SERVER['REQUEST_URI'], "?") !== false; if ($haveGet) { $url = explode("?", $_SERVER['REQUEST_URI']); if (($_SERVER['REQUEST_URI'] != strtolower($url[0]) . "?" . $url[1]) && $notBitrix === false) { header('Location: //' . $_SERVER['HTTP_HOST'] . strtolower($url[0]) . "?" . $url[1], true, 301); exit(); } } else { if ($_SERVER['REQUEST_URI'] != strtolower($_SERVER['REQUEST_URI']) && $notBitrix === false) { header('Location: //' . $_SERVER['HTTP_HOST'] . strtolower($_SERVER['REQUEST_URI']), true, 301); exit(); } } } |