Требуется рабочее решение для перенаправления на страницы page-forbidden и page-not-found

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

Что вы хотите сделать?

Сделать так, чтобы при ошибке «страница запрещена» (page-forbidden) происходил перенаправление на один URL, а при ошибке «страница не найдена» (page-not-found) — на другой. Это может быть плагин, компонент темы, JavaScript, который я вставлю в раздел «Администрирование > Настроить > Тема > Пользовательские CSS/HTML», или какое-то другое решение. Я не хочу настраивать Apache или Nginx. URL-адреса будут меняться редко, поэтому их можно прописать жестко.

Когда это нужно сделать?

В течение следующих двух недель.

Какой ваш бюджет в долларах США, который вы готовы предложить за эту задачу?

Открыт к предложениям.

*** Если вы заинтересованы, пожалуйста, напишите мне в личные сообщения. Не пишите здесь «Я это сделаю».

1 лайк

К сведению: здесь, на Meta, такой подход не поощряется.

Людей поощряют сначала публично отвечать на темы в Marketplace, если они заинтересованы в выполнении работы.

Историческое обсуждение этой темы можно найти здесь:

5 лайков

Приносим извинения, пожалуйста, напишите здесь. У меня уже бывали случаи, когда кто-то публично писал: «Я это сделаю», но я не хотел нанимать этого человека. Тогда другие (более подходящие) кандидаты не подавали заявку, так как вакансия уже была занята.

1 лайк

Возможно, вам просто нужна настройка сайта detailed 404?

Это позволяет выводить такие сообщения, как:

  • Ой! Эта тема была удалена и больше недоступна.
  • Ой! Эта страница закрыта.
  • Ой! Эта страница не существует или закрыта. (такой вариант не существовал — думаю, вам стоит изменить текст и убрать часть «или закрыта»)
4 лайка

Я пробовал это, но не вижу никакой разницы. Если я перехожу на /foo с включённой или выключенной функцией, результат одинаковый. (Я изменил текст, чтобы дать им подсказку, но это не очень удовлетворительно.)

Но /foo не существует, поэтому это правильное сообщение (вы можете настроить его так, чтобы оно гласило просто «не существует», и убрать «не найдено», как я написал, пока вы писали свой ответ)

Вы хотите изменить поведение для страницы «запрещено». Это работает так, как вы просите, но поскольку форум, для которого это, по-видимому, предназначен, требует входа в систему, я не могу привести пример на вашем сайте.

image

image

Вам нужно изменить текст для этого случая на просто «Эта страница не существует», так как он написан для значения по умолчанию настройки.

1 лайк

Я согласен, и я (ошибочно, как вы указываете) адаптировал оба текста одинаково, что не совсем верно. Но я всё ещё не думаю, что смогу заставить систему делать то, что мне нужно. Вот немного больше деталей о сценарии использования:

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

  • Чтобы увидеть категорию X, нужно заполнить форму NDA, что добавляет вас в группу-x.
  • Чтобы увидеть категорию Y, нужно принять политику Discourse, что добавляет вас в группу-y.
  • Чтобы увидеть категорию Z, нужно выполнить какое-то другое условие, что добавляет вас в группу-z.

У нас есть определённый пост «Как присоединиться к подгруппе форума», в котором объясняются все эти правила и содержатся ссылки на формы.

Иногда пользователь получает ссылку на тему от другого пользователя, но не может получить к ней доступ, возможно, потому что он не подписал NDA. Discourse перенаправляет его на страницу «Доступ запрещён», но не объясняет, как получить доступ (то есть, какое условие нужно выполнить). Я адаптировал текст, чтобы попытаться направить его к посту «Как присоединиться к подгруппе форума», но результат не очень удовлетворительный. (См. скриншот выше.)

Я вижу два подхода:

  1. На странице «Доступ запрещён» перенаправлять пользователя к посту «Как присоединиться к подгруппе форума» и дать ему возможность прочитать все правила и, надеюсь, самостоятельно понять, какое условие нужно выполнить для просмотра нужной темы.
  2. Было бы гораздо лучше, если бы мы могли явно указать: «Вам не разрешено просматривать эту тему, потому что вам нужно подписать это NDA». Для этого потребуется конфигурация, сопоставляющая категории с постами, например: категория Xпост с формой NDA. Таких правил/сопоставлений у нас 15–20.

Уже существует:

что, похоже, также решает ваш случай.

Я отправлю личное сообщение с предложением.

4 лайка

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.