Анна делает некоторые хорошие замечания, и ее ответ будет работать для многих людей, но не для меня, поэтому я публикую свой собственный ответ. Возможно, моя проблема была гораздо более фундаментальной, чем та, к которой она обращается.
Моим решением было изменить домен моего сайта с example.com
на www.example.com
. Фактически, мои исследования в Интернете показывают, что сайты, такие как Amazon, Google, Ebay и другие крупные сайты, используют www
префикс в значительной степени из-за того, как работают куки. Возможно, нет.
По умолчанию cookie работает так, что он применяется ко всем поддоменам. Таким образом, если example.com
вы отправляете куки, то вы посещаете mail.example.com
, smile.example.com
или devsite.example.com
, тогда ваш браузер отправит этот куки на эти сайты, и эти сайты попытаются использовать куки. Но они не смогут найти ваш сеанс, если все они не будут использовать общую папку сеанса. И даже тогда у вас могут возникнуть проблемы из-за разных конфигураций базы данных, разных структур приложений и т. Д.
Внесение изменений включало создание перенаправлений 301 в моем корневом файле htaccess, изменение защищенных / небезопасных URL-адресов в core_config_data
таблице базы данных magento , изменение сайтов ServerName
в Apache VirtualHosts
и обновление настроек DNS / сервера имен. Но это того стоило.
Создав мой основной сайт www.example.com
, его куки теперь будут применяться только к его поддоменам, таким как mail.www.example.com
(а у нас нет таких поддоменов). Клиентские браузеры, которые получают www.example.com
cookie, не отправляют его devsite.example.com
, и проблема решена. Плюс очень приятно иметь www
перед нашим доменным именем.
.
Важное замечание, шаг 3 о домене перед доменом!