Проблема такая.
Настроил форум. Работает нормально. Время от времени вносил некоторые правки.
Сессии настроены правильно и пользователи, которые залогинились в большинстве случаев работают корректно.
Но есть одна ссылка после нажатия которой пользователь как-будто разлогинивается.
Ссылка эта стандартная находится на главной странице. Называется "Отметить форумы как прочтённые". Адрес ее имеет вид
http://example.com/index.php?hash=XXXXXXXX&mark=forumsСуть "разлогинивания" в том, что после нажатия этой ссылки после домена появляется точка.
Т.е. пользователь изначально был на странице
http://example.comпосле нажатия ссылки для пометки всех форумов прочитанными пользователю на 3сек показывается стандартное информационное сообщение, а потом редиерк и пользователь оказывается на странице
http://example.com. (обратите внимание на точку).(В промежуточном информационном сообщении точки нет. Она появилась только после редиректа.)
И далее при перемещении по форуму все страницы получаются с точкой после домена.
Например:
http://example.com./viewforum.php?f=2http://example.com./viewtopic.php?t=6&p=407#p407И даже ссылка на логотипе (на главную страницу) содержит точку в конце.
Куки изначально выданную пользователь не теряет, но, вероятно, что из-за того что "как будто поменялся домен" начатая сессия уже не действует и пользователь видит страницу как незалогиненный гость. Если в адресной строке вручную убрать точку, то пользователь опять оказывается залогиненным, как был залогиненным до нажатия ссылки.
Если пользователь введет повтороно логин и пароль в "домене с появившейся точкой" то он уже будет работать залогиненным всегда, пока не выйдет (т.е. у него уже будет две ссессии - одна для правильного демена, а вторая для домена с точкой.
Самое интересное, что похожие по смыслу ссылки в форумах работают корректно и не приводят к появлению точки.
Например. работают корректно:
Ометить все темы как прочитанные
http://example.com/viewforum.php?hash=XXXXXXXX&f=2&mark=topicsОметить все подфорумы как прочитанные
http://example.com/viewforum.php?hash=XXXXXXXX&f=1&mark=forumsВ результате описанного получается, что пользователи логинятся, помечают все форумы как прочитанные, потом хотят оставить сообщение, не замечают, что они пишут, как гости, но вводят код защиты от спама и оставляют сообщение от имени ГОСТЬ.
В худшем случае пользователи перед публикацией стандартное имя Гость меняют на свое имя (например - Ирина) и получают отказ в публикации сообщения по причине, что пользователь с таким именем существует. Кто попродвинутей, тот все равно находит способ отправить сообщение. А некоторые "домохозяйки" не связываются, а отказываются от публикации. (это на основе анализирования данных Яндекс.Метрики).

