Вопрос на засыпку. Проблема в сочетании woocommerce + last modifed.

Grattol Grattol   16.12.2017 13:09   502  
Всем привет! Очередная головная боль появилась, может кто подскажет? Дело вот в чем...

При установке заголовка Last Modifed на Woocommerce появляется серьезная проблема с авторизациями. То есть получается следующая картина: клиент заходит на сайт как гость, пошарился по нескольким страницам и потом авторизовался или зарегался не важно.

В итоге теперь ему браузер при переходе на эти же страницы показывает контент как незарегистрированному (так, как он просматривал ее как гость ранее). Но при переходе на страницу которую он не посещал как гость, авторизация снова появляется и сессия продолжается. Тоже самое получается при выходе из учетной записи.

То есть клиент нажал кнопку Выйти, сессия типа закончилась, переходит на страницу которую просматривал авторизованным и сессия начинает снова работать. То есть браузер получает код 304 и выдает ранее просмотренную страницу забивая на сессии. Кто-нибудь сталкивался с такой проблемой в магазинах или форумах?

Ребят, приму к сведению любую мысль или подсказку, даже не от гуру. Мне важен этот момент и хочется разобраться наконец с этим вопросом. Уже недели три бьюсь с этим заголовком. Все никак не подружимся мы с ним.

Ответы на вопрос (10) Написать ответ
Grattol Grattol   16.12.2017 15:59
Выход нашел! Не зря говорят - Кто ищет, тот всегда найдет. Оказывается владельцы магазинов и форумов не особо беспокоятся о заголовках сервера.
Нашел статью на форуме или что это... ну не важно, о подобной проблеме. Но там как я понял речь идет о каком-то другом движке. Советуют поставить заголовок следующего типа: @header("Cache-Control: private, must-revalidate");
Решил попробовать у себя. В функцион.пхп вставил, проверил заголовок передает нормально, почистил кэш в браузере, начал юзать по сайту. Проблема осталась. Так что, тем у кого подобная проблема на вукоммерц не пытайтесь, не работает. Раз там писали, что все же проблема не в коде ответа, а в особенностях кэширования браузером, я решил отключить кэширование в заголовках. И все заработало как надо!
Заголовки поменял вставив код в файл htaccess:
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
После строки # END WordPress, кстати с этим я тоже помучился в свое время, куда что вставлять. Везде только пишут вставьте, а куда хрен поймешь.
В общем пользуйтесь кому надо, наверняка я не один такой шизанутый. :-)
0
Решение
snwebdev snwebdev   16.12.2017 14:10
Не отдавайте 304 Not Modified авторизованным пользователям

if ( !is_user_logged_in() ) {
... you code
}
2
Grattol Grattol   16.12.2017 14:22
Как вариант логично. Обязательно проверю. Спасибо за участие. +1 в карму :-)
0
Grattol Grattol   16.12.2017 14:39
Код не помог. :-( все равно глючит.
0
sungoldline sungoldline   16.12.2017 22:36
Теребите поддержку хостинга, у вас неправильно настроен сервер на отдачу 304 для last modified.
Постоянно сталкиваюсь с этим на американских серверах. Там походу малолетние индусы работают в поддержке, ни в зуб ногой, ничего толкового сказать не могут. Так я на многих серверах уже имею прямой доступ к технарям.
с Apache еще более менее работает, а вот Nginx надо корректно настроить.
0
sungoldline sungoldline   16.12.2017 22:39
И еще, какой у вас стоит плагин кеширования?
0
Grattol Grattol   16.12.2017 22:51
Плагином кэширования уже не пользуюсь. Эффекта не дает моему сайту. Сижу на таймвебе. Сервер Apache+Nginx. Сейчас всё нормально. Проблему решил. Тех-поддержка ничего вразумительного не ответила, общался и с онлайн-консультантом и с техническим работником по е-почте. У нас говорят все настроено нормально ищите проблему у себя.
0
Grattol Grattol   16.12.2017 22:53
От только скрипт в функцион.пхп и отключение кэширования полностью помогло. И то методом тыка спустя 3 недели.
0
sungoldline sungoldline   16.12.2017 23:30
Иногда "тык" и выручает, на этом и учимся ))
Все правильно, пока сам не высушишь себе мозги, никто толком не посоветует. Рад за вас.
1
Grattol Grattol   17.12.2017 08:41
Для меня этот заголовок уже в дело принципа превратился за это время, мне надо было его корректно установить, прям кровь из носу. :-) Спасибо за поддержку.
0

Войдите, чтобы написать ответ
Вход Регистрация

Самая большая база ключей ваших конкурентов. Создавай эффективные сайты, используя лучшую базу в рунете!