[QUOTE] написал:
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
Проблем в работе скрипта пока не нашла, буду рада, если что-то вскроется[/QUOTE]
Проблема в том, что гет параметры он тоже занижает. Вместо ?param=Y, который ожидают многие компоненты, в адресную строку попадает ?param=y
Добавил проверку на наличие "?" в строке запроса.
В теории можно обойтись без дополнительного if, используя условные выражения, но мне такой код показался слишком страшным. Тут вроде читабельней. Если у кого будут варианты получше, докидывайте сюда
[CODE]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();
}
}
}[/CODE]
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
Проблем в работе скрипта пока не нашла, буду рада, если что-то вскроется[/QUOTE]
Проблема в том, что гет параметры он тоже занижает. Вместо ?param=Y, который ожидают многие компоненты, в адресную строку попадает ?param=y
Добавил проверку на наличие "?" в строке запроса.
В теории можно обойтись без дополнительного if, используя условные выражения, но мне такой код показался слишком страшным. Тут вроде читабельней. Если у кого будут варианты получше, докидывайте сюда
[CODE]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();
}
}
}[/CODE]