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

31
Алексей,

Прилетела задача от 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
seo, готовый код, костыли, редирект
Похожие статьи
Скрываем ссылки на внешний сайты c помощью js 0
Простой jQuery скрипт для замены span[data-link] на a[href].
Читать дальше »
Алексей,
Канонический адрес для страниц с неизвестными параметрами 0
Готовый код. Устанавливает канонический адрес если есть хоть какие-нибудь GET параметры.
Читать дальше »
Алексей,
Комментарии
Зарегистрируйтесь чтобы получать уведомления об ответе