# Перенаправить страницу тега на пользовательский URL?

**URL:** <https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514>\
**Category:** Support\
**Created:** [18.Сентябрь.2020 23:12:58 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514 "2020-09-18T23:12:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)\
**Post date:** [18.Сентябрь.2020 23:12:58 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/1 "2020-09-18T23:12:58Z")

</div>

Привет,

Я хотел бы перенаправить `/tag/offer` на `tags/c/trading-post/18/offer`.

Возможно ли это?

Я пробовал настроить это в разделе Настройка → Постоянные ссылки, но это не сработало.

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [19.Сентябрь.2020 01:57:26 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/2 "2020-09-19T01:57:26Z")

</div>

Пермалинки — это входящие ссылки с внешних URL-адресов, а не ссылки внутри приложения.

---

<div class="post-metadata">

**Author:** ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)\
**Post date:** [19.Сентябрь.2020 01:59:47 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/3 "2020-09-19T01:59:47Z")

</div>

Это довольно крутая идея. Почему вы хотите перенаправить на этот URL?

---

<div class="post-metadata">

**Author:** ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)\
**Post date:** [19.Сентябрь.2020 08:18:30 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/4 "2020-09-19T08:18:30Z")

</div>

На моём форуме нужны теги только для двух категорий, и у каждой категории будет свой собственный тег.

Категория **trade** будет иметь теги **search** и **offer**.

Категория **other language** будет иметь несколько языковых тегов, например **russian** , **hebrew** и т. д.

Эти теги не будут доступны для других категорий.

Я использую теги, чтобы избежать их «вездесущности», которая характерна для функции тегов в Discourse по умолчанию. Мне нужно, чтобы теги были строго привязаны к соответствующим категориям.

Поэтому желаемое поведение следующее: когда вы находитесь на странице списка тем со всеми выбранными категориями, клик по тегу должен вести на страницу этого тега, но внутри категории, к которой он принадлежит, а не на страницу со всеми категориями.

Клик по **offer** здесь,

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/d/ad81b34c4c7eae917748428203e80d7e701fad5e.png)

должен вести сюда:

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/d/ade1bf17582cdceffde5d573e79bad521f12019d.png)

На странице, где собраны все теги форума. Здесь теги trade смешиваются с языковыми тегами, чего я не хочу.

Именно поэтому я хочу, чтобы клик по тегу **offer** всегда перенаправлял на `tags/c/trading-post/18/offer`, независимо от того, где вы находитесь в момент клика.

---

<div class="post-metadata">

**Author:** ![Terrapop](https://avatars.discourse-cdn.com/v4/letter/t/ecd19e/32.png) [@Terrapop](https://meta.discourse.org/u/Terrapop)\
**Post date:** [19.Сентябрь.2020 09:39:39 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/5 "2020-09-19T09:39:39Z")

</div>

Правильное решение заключалось бы в том, чтобы ядро не отображало теги из ограниченных групп тегов в глобальном выпадающем списке (а ещё лучше и гибче — предоставить возможность для каждой категории/группы тегов исключать их из отображения в глобальных выпадающих списках). Этот вопрос уже поднимался ранее.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [21.Сентябрь.2020 00:34:34 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/6 "2020-09-21T00:34:34Z")

</div>

> [@Stephen](#):
>
> Пермалинки относятся к входящим ссылкам с внешних URL-адресов

У меня смутные воспоминания о том, что мы улучшили это, чтобы это работало и для внутренних ссылок? Не уверен. Вы помните, @techAPJ?

---

<div class="post-metadata">

**Author:** ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)\
**Post date:** [21.Сентябрь.2020 08:22:31 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/7 "2020-09-21T08:22:31Z")

</div>

Постоянные ссылки работают для внутренних ссылок. Например, вот инструкция по настройке перенаправления категорий:

> [@(Superseded) Redirect a category using permalink rules](https://meta.discourse.org/t/how-to-redirect-a-category-using-permalink-rules/43380):
>
> warning Please Note Discourse now automatically redirects renamed categories. I will leave this HowTo up for the time being to cover any eventual edge cases that the automatic redirect doesn’t take into account. Say you’ve renamed the category /c/school to /c/education and you’d like to make sure all old links that point to https://forum.example.com/c/school will now redirect to https://forum.example.com/c/education. Here’s what you do. Go to /admin/customize/permalinks: Here y…

Мне также удалось настроить перенаправление локально для `/tag/iphone` → `/tag/apple`.

Обратите внимание, что целевой URL имеет некоторые ограничения: он может перенаправлять только на конкретную тему/сообщение/категорию/тег/внешний URL. Ваша целевая URL-адрес представляет собой смесь URL категории и тега, что пока не поддерживается.

---

<div class="post-metadata">

**Author:** ![JonathanShaw](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonathanshaw/32/532672_2.png) [@JonathanShaw](https://meta.discourse.org/u/JonathanShaw)\
**Post date:** [24.Август.2021 10:51:18 UTC](https://meta.discourse.org/t/redirect-a-tag-page-to-a-custom-url/164514/8 "2021-08-24T10:51:18Z")

</div>

> [@techAPJ](#):
>
> Пермалинки работают для внутренних ссылок

Но они не работают для внутренних ссылок, которые уже корректны. Таким образом, пермалинк срабатывает для перенаправления `/tag/offer` на `tags/c/trading-post/18/offer` только в том случае, если тег `offer` ещё не создан.

Для случаев, когда тег уже существует, здесь не было предложено решения. Я задумался о перенаправлении в компоненте темы и пытаюсь изучить, как сделать это правильно.
