Как настроить редирект со страниц с использованием заглавных букв на страницы со строчными буквами

2k
Алексей,
Как настроить редирект со страниц с использованием заглавных букв на страницы со строчными буквами

Прилетела задача от seo отдела - сделать редирект со страниц с разным регистром /catalog/BRANDS/all/ на страницы в нижнем регистре /catalog/brands/all/. Решение на php.

Прилетела задача от seo отдела - сделать редирект со страниц с разным регистром /catalog/BRANDS/all/ на страницы в нижнем регистре /catalog/brands/all/. Решение на php.

\Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'OnPageStart', 'checkUrlRegister');

function checkUrlRegister () {
	$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
	$uri = new \Bitrix\Main\Web\Uri($request->getRequestUri());

	$uriSource = $uri->getPath();
	$uriLower = ToLower($uriSource);
	$uriQuery = ($uri->getQuery()) ? '?'.$uri->getQuery() : '';
	if ($uriSource != $uriLower) {
		LocalRedirect($uriLower.$uriQuery, false, '301 Moved permanently');
	}
}

В обработчике события OnPageStart сверяется url с его версией в нижнем регистре, если разные, то происходит редирект с сохранением get параметров.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 17 февраля 2021 | Обновлено 12 марта 2021
seo, готовый код, костыли, редирект
Поделиться
Похожие статьи
Скрываем ссылки на внешний сайты c помощью js
Простой jQuery скрипт для замены span[data-link] на a[href].
Читать дальше » 0
Алексей,
Канонический адрес для страниц с неизвестными параметрами
Готовый код. Устанавливает канонический адрес если есть хоть какие-нибудь GET параметры.
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Прилетела задача от seo отдела - сделать редирект со страниц с разным регистром /catalog/BRANDS/all/ на страницы в нижнем регистре /catalog/brands/all/. Решение на php.