Ошибка 500 на старом URL для числового тега (ошибка сканирования Google)

На моём форуме есть тег, который представляет собой 4-значное число — 6309. Он существует уже довольно давно. На постах он отображается корректно, и в этом случае URL выглядит так: /tag/210-tag/210.

Однако вместо красивой страницы 404, URL вида /tag/6309 возвращает ошибку сервера:

Ой

Программное обеспечение, управляющее этим форумом, столкнулось с неожиданной проблемой. Приносим извинения за неудобства.

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

Страница тега выглядит так:

Думаю, что правильный ответ — 404.

2 лайка

Да, это выглядит не очень:

ActionView::Template::Error (No route matches {action: "tag_feed", controller: "tags", tag_id: "9999"})
  app/views/list/list.erb:136
  app/views/list/list.erb:134
  lib/topic_list_responder.rb:16:in 'block (2 levels) in TopicListResponder#respond_with_list'
  lib/topic_list_responder.rb:7:in 'TopicListResponder#respond_with_list'
  app/controllers/tags_controller.rb:223:in 'block (2 levels) in <class:TagsController>'
  app/controllers/tags_controller.rb:229:in 'TagsController#show'
  app/controllers/application_controller.rb:447:in 'block in ApplicationController#with_resolved_locale'
  app/controllers/application_controller.rb:447:in 'ApplicationController#with_resolved_locale'
  app/controllers/application_controller.rb:1098:in 'ApplicationController#ensure_dont_cache_page'
  lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#call'
  …

Нам нужно исправить эту ошибку; также мы могли бы реализовать fallback-поиск по полностью числовому имени тега, если тег с указанным ID не найден.

Wayway впервые заметил появление этого тега 13 мая 2025 года, и его URL был https://retrocomputingforum.com/tag/6309, который работал в то время и вплоть до 16 декабря 2025 года.

2 лайка

Ах, верно подмечено. Возможно, какой-то ответ с перенаправлением 3xx был бы уместен, даже лучше, чем 404, на случай, если тег корректен?

(Не уверен, что это должно относиться к категории UX или багов.)

2 лайка

Всё в порядке. Мы отслеживаем эту проблему и выпустим исправление.

Разрешение имен тегов по пути /tag/name должно и обязано оставаться совместимым — это наш осознанный выбор и решение. Но в данном случае, похоже, речь идёт о числе, поэтому, возможно, на бэкенде произошла ошибка при разрешении имени.

5 лайков

Спасибо за отчет. После слияния это должно устранить проблему:

5 лайков