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