![]() |
|
|||||||
|
|||||||
| Регистрация | Справка | Пользователи | Календарь | Сообщения за день | Поиск |
| Создание сайтов Практические вопросы по верстке, шаблонам и инструментам — тут решают конкретные проблемы и дают рабочие советы. |
![]() |
|
|
Опции темы |
|
|
#1 |
|
Администратор
Регистрация: 29.06.2024
Адрес: Живу в своем мирке, который строю для себя.
Сообщений: 1,442
Вес репутации: 100
|
При попытке открыть из главной страницы форума ссылку на последнюю тему в разделе, web-сервер Nginx возвращает ошибку 400 Bad Request в старых браузерах. Такая ссылка имеет в себе параметр view=getnewpost для IPB и goto=newpost для vBulletin. Она возвращает браузеру другую ссылку, содержащую на конце #entry для IPB и #post для vBulletin.
Современные браузеры автоматом кодируют строку URL, которая кончается на #entry + id последнего сообщения и потом обратно раскодируют. Это позволяет открывать такую ссылку и прокручивают сообщение до нужного сообщения в теме. В Internet Explorer 5 и Internet Explorer 6, браузер вставляет в запрос о редиректе ссылку с #entry на конце без кодирования. Возможно старые версии Nginx выполняли запрос по принципу "и так сойдет", но сейчас нет. Как это работает: 1) Кликаем на ссылку содержащую параметр view=getnewpost для IPB и goto=newpost для vBulletin на главной странице форума. 2) В новых браузерах последнее сообщение в разделе нормально открывается, в старых браузерах получаем ошибку 400. Что делать? 1) В шаблоне форума убираем из ссылки параметр view=getnewpost для IPB и goto=newpost для vBulletin. Тогда тема будет открываться, но будет открыта просто первая страница темы. или 2) Находим скрипт, который возвращает по этому запросу окончательную ссылку с #entry и удаляем часть с #entry. Тогда будет открыта последняя страница темы, но без прокрутки окна браузера до последнего сообщения в теме. Другого решения пока не нашел, но нахожусь в активном поиске. Если у вас будут идеи как решить проблему, пишите. Добавлено через 1 час 16 минут Чтобы движок IPB не возвращал ссылку с #entry, открываем файл sources/action_public/topics.php Ищем строку PHP код:
PHP код:
Чтобы Vbulletin не возвращал ссылку с #post, открывает showthread.php Ищем строку: PHP код:
PHP код:
__________________
Мой блог http://erikoblog.ru. Последний раз редактировалось eriko, 09.05.2025 в 04:46. Причина: Добавлено сообщение |
|
|
|
|