У нас есть основной сайт по адресу example.com
. Вход в систему example.com/admin
работает нормально там.
Но на тестовом сайте test.example.com/admin
я не могу войти в администратор без предварительного удаления всех example.com
файлов cookie. Затем я могу войти в систему, но как только я example.com/admin
вхожу в свой следующий клик на тестовом сервере, я возвращаюсь на страницу входа.
Я не знаю, влияет ли это на логины клиентов.
Есть ли какая-либо конфигурация на главном сайте или сайте тестирования, которая решит эту проблему?
magento-1.9
admin
login
cookie
Баттл Буткус
источник
источник
.
Важное замечание, шаг 3 о домене перед доменом!example.com
администратора,test.example.com
администратора или для обоих?example.com
, другойtest.example.com
. У них обоих есть свои админы. Но вы только говорите мне установить домен для одного из администраторов. Вы говорите, что я должен оставить другой пустым?test.example.com
в основной магазин,www.example.com
чтобы избежать наложения cookie.Анна делает некоторые хорошие замечания, и ее ответ будет работать для многих людей, но не для меня, поэтому я публикую свой собственный ответ. Возможно, моя проблема была гораздо более фундаментальной, чем та, к которой она обращается.
Моим решением было изменить домен моего сайта с
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
в ApacheVirtualHosts
и обновление настроек DNS / сервера имен. Но это того стоило.Создав мой основной сайт
www.example.com
, его куки теперь будут применяться только к его поддоменам, таким какmail.www.example.com
(а у нас нет таких поддоменов). Клиентские браузеры, которые получаютwww.example.com
cookie, не отправляют егоdevsite.example.com
, и проблема решена. Плюс очень приятно иметьwww
перед нашим доменным именем.источник
Вы можете просто изменить adminhtml cookie для поддоменов.
Два изменения в файле
app/code/core/Mage/Core/Controller/Varien/Action.php
.В
preDispatch
строке изменения функциив
В
setRedirectWithCookieCheck
изменении функциив
И после этого поиск текста
во всех файлах и замените его
если какие-либо происшествия будут найдены.
источник
adminhtml
для домена.example.com
. Когда вы пытаетесь авторизоваться на test.example.com/admin, он пытается что-то сделать с cookieadminhtml
для.test.example.com
. Проблемы отличаются в настройках Magento. Основная проблема заключается в том, что вы не можете изменить cookie основного домена из субдомена. Приведенный выше код заставляет Magento создавать cookieadminhtml
для example.com и cookieadminhtml_subdomain
для subdomain.example.com, поэтому они никоим образом не будут смешиваться. Изменитеsubdomain
на правильный, который вы используете.Если вы все еще не можете войти в свой веб-интерфейс (сеанс клиента не может быть создан) из-за проблем с файлами cookie, переопределите соответствующий основной файл.
и
Закомментируйте строки, указанные в этой теме. Это исправило проблему с входом клиента в веб-интерфейс до версии 1.8.x.
/magento//a/34057/695
источник