@VeryLongAgoDid
Всё возможно

Как сделать редиректы по UTM-метке в .htaccess?

Пытаюсь склеить дубли, по UTM метке. Помогите пожалуйста

Если есть ?SECTION_CODE=..., то сделать редириект, но оставлять всё, что идёт после символа &
?SECTION_CODE=...&...

Вот так работать не хочет, error 500
RewriteRule ^catalog/([a-zA-Z0-9\-_])/?SECTION_CODE=([a-zA-Z0-9\-_])&(.*)$ /catalog/$1/?$3

Генератор выдаёт такое решение. Очень не хочется городить много лишнего
spoiler

# Rewrite --- /catalog/abc/?SECTION_CODE=abc => /catalog/abc/
RewriteCond %{QUERY_STRING} (^|&)SECTION_CODE\=abc($|&)
RewriteRule ^catalog/abc/$ /catalog/abc/?&%{QUERY_STRING}

# Rewrite --- /catalog/abc/?SECTION_CODE=abc&PAGEN_1=2 => /catalog/abc/?PAGEN_1=2
RewriteCond %{QUERY_STRING} (^|&)SECTION_CODE\=abc($|&)
RewriteCond %{QUERY_STRING} (^|&)PAGEN_1\=2($|&)
RewriteRule ^catalog/abc/$ /catalog/abc/?PAGEN_1=2&%{QUERY_STRING}

# Rewrite --- /catalog/abc/?SECTION_CODE=abc&PAGEN_1=3 => /catalog/abc/?PAGEN_1=3
RewriteCond %{QUERY_STRING} (^|&)SECTION_CODE\=abc($|&)
RewriteCond %{QUERY_STRING} (^|&)PAGEN_1\=3($|&)
RewriteRule ^catalog/abc/$ /catalog/abc/?PAGEN_1=3&%{QUERY_STRING}

# Rewrite --- /catalog/abc/?SECTION_CODE=abc&PAGEN_1=99 => /catalog/abc/?PAGEN_1=99
RewriteCond %{QUERY_STRING} (^|&)SECTION_CODE\=abc($|&)
RewriteCond %{QUERY_STRING} (^|&)PAGEN_1\=99($|&)
RewriteRule ^catalog/abc/$ /catalog/abc/?PAGEN_1=99&%{QUERY_STRING}
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
@dodo512
RewriteCond &%{QUERY_STRING} ^(.*?)&SECTION_CODE=[^&]*(.*)
RewriteCond %1%2             ^&*(.*)
RewriteRule ^catalog/.+/$ /$0?%1 [R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
GET - не является частью урла и в реврайт рул он не попадает вовсе
https://www.generateit.net/mod-rewrite/index.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы