Как сделать обратное преобразование символов в URL?
В системе Яндекс.Директ есть возможность передавать адрес страниц через параметр {param1} (ссылка).
Например, я хочу из одного и того же объявления с первого ключевого слова отправлять на эту страницу — http://site.ru/category/proteiny/?brand=56, со второго ключевого слова на эту — http://site.ru/category/geynery/?brand=56.
Чтобы это сделать я прописываю в {param1} для каждого ключевого слова следующие значения:
- протеин rps — proteiny/?brand=56
- гейнер rps — geynery/?brand=56
А для всего объявления делаю ссылку такого вида — http://site.ru/category/{param1}. В результате подстановки, кто будет искать протеин попадет на страницу с протеинами, а кто гейнер — на страницу с гейнерами.
Но проблема в том, что специальные символы в значениях {param1} автоматически кодируются в UTF-8 на стороне Яндекса и поэтому символ слеша преобразовывается в последовательность «%2F». В итоге ссылки выглядят так:
- site.ru/category/proteiny%2F?brand=56
- site.ru/category/geynery%2F?brand=56
И сервер логично отдает 404 ошибку. Кто знает, как решить эту проблему?
Тех. поддержка сказала, что в магазине обратное преобразование таких символов не предусмотрено и предложила задать этот вопрос здесь.
2 ответа
Попробуйте использовать плагин: https://www.shop-script.ru/help/5627/301-redirect-...
В самом простом варианте это будет что-то такое:
proteiny%2F?* → proteiny/?*
Спасибо за ответ. Создал правило, но пока не работает. Отписал на странице плагина.