![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||||
![]() |
![]() |
![]() |
|||||||||||||||
![]() |
![]() |
||||||||||||||||
![]() |
![]() |
![]() |
|||||||||||||||
![]() |
![]() |
||||||||||||||||
![]() |
![]() |
||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
|
Регистрация | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
|
![]() |
#1 |
Администратор
Регистрация: 29.06.2024
Адрес: Живу в своем мирке, который строю для себя.
Сообщений: 1,120
|
![]() При попытке открыть из главной страницы форума ссылку на последнюю тему в разделе, 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 код:
__________________
Что делать, если вы со мной не согласны? Помнить, что написанное не истина в последней инстанции, а всего лишь мое мнение, которое я не навязываю вам. Последний раз редактировалось danil, 09.05.2025 в 01:46. Причина: Добавлено сообщение |
![]() |
![]() |
|