Как Firefox 5.0 форум поломал
Здесь будет описание проблемы и описание того, как делать не надо.
На днях вышел новый Firefox 5.0, в котором форум стал себя вести неадекватно. А именно не работала ссылка "к первому непрочитанному сообщению", она всегда отсылала к уже прочитанному. В результате форумом стало невозможно пользоваться.
Как работает данная ссылка. Ссылка имеет в урле темы добавку new-post, сервер, видя эту добавку, смотрит в базе последнее прочитанное данным юзером сообщение, берёт следующее, смотрит на какой оно странице, и делает редирект на эту страницу с нужным якорем.
Проблема заключается в том, что редирект делается с кодом 301 Moved Permanently, т.е. постоянный редирект. Говоря русским языком, изначальный урл всегда будет редиректить на этот вот новый. Т.е. его можно закешировать, хотя все браузеры этого и не делают. А вот Firefox 5 стал кешировать. А редирект-то не постоянный, он при каждом запросе отсылает на разные урлы.
Кстати ссылка "Новые сообщения" сделана таким же способом. Но там сделан правильный редирект с кодом 302, поэтому она в новом Firefox-е работает.
За сим просьба к Илье: найти в коде форума пресловутое число 301 и заменить его на 302.
|