Как удалить SID (идентификатор сеанса) из URL в Magento 2

Ответы:

23

Перейдите в « Магазин»> «Конфигурация»> «Основные»> «Интернет»> «Параметры проверки сеанса»> «Использовать SID в витрине» и установите для него значение «Нет».

пример

Вот хороший ответ о SID :

SID является «идентификатором сеанса». Magento использует это для отслеживания активности пользователя в той же установке Magento. Обычно Magento поддерживает один веб-сайт и один магазин из одной установки (базы данных).

Однако Magento может поддерживать несколько веб-сайтов с несколькими магазинами из одной установки. SID позволяет пользователям оставаться в системе во время навигации по этим сайтам / магазинам.

Я думаю, что если у вас включена функция, SID отправляется при доступе к URL-адресам каталога, чтобы Magento мог обновить сеанс, указав местоположение / состояние пользователя для текущего веб-сайта / магазина.

Если вы не работаете в среде с несколькими веб-сайтами или в нескольких магазинах, можно безопасно отключить SID на веб-интерфейсе.

Сергей Учухлебау
источник
Спасибо за ответ !!! Я делаю это и отвечаю на результат через несколько минут !!!
Мэтт Бидас
2
Я использовал этот подход и отключил SID на внешнем интерфейсе, а также в режиме Single-store, установленном на «Да», SID все еще отображается. В рабочем режиме, должны ли мы файлы регенерации сделать эту работу? Я так не думаю, так как это значение конфигурации. Есть идеи?
Дчайка
@dchayka Я думаю, это может быть проблема с кешем. Попробуйте обновить его.
Сергей Учухлебау
Кэш @SiarheyUchukhlebau обновлен. Я понял, что это такое. Спасибо за продолжение.
дчайка
@SiarheyUchukhlebau Как мне изменить метатег для example.com/?SID=nufp7tmaardcoff2ddbp4vmmo6 в magento 2 ??
суприя мишра
4

Те из вас, кто уже установил для параметра « Использовать SID на витрине магазина» значение « Нет» (как отметил в своем ответе Сергей Учухлебау), но все еще не могут избавиться от & sid = ... в URL, просматривают следующие ссылки.

Это ошибка Magento, которая будет исправлена ​​в версии 2.3.
Билет по теме: https://github.com/magento/magento2/issues/9453

К счастью, есть Учебное пособие по Inchoo о том, как удалить его через файл .htaccess в качестве обходного пути
http://inchoo.net/dev-talk/remove-sid-from-magento-urls/

Майкл Поппингер
источник
Magento 2.3 выпущен. Это было исправлено? Ничего не могу найти по этому поводу.
Акиф
Я не использую Magento 2.3, но в Magento 2.2.6 я больше не сталкиваюсь с этой проблемой.
Майкл Поппингер
0

Не ?SIDдобавляется ли автоматически PHP, если PHP настроен так, чтобы не хранить сессии на сервере или браузер не принимает куки?

Я считаю, что Magento не делает этого по умолчанию. Есть настройка для этого, но я предполагаю, что ОП не изменил это, иначе он сам бы понял это.

Гиль Беркерс
источник
Если опция PHP run-time session.use_trans_sid включена, относительные URI будут изменены, чтобы автоматически содержать идентификатор сессии. Эта опция не включена по умолчанию. По умолчанию в «Magento 2» для «Использовать SID на витрине» установлено «Да».
t-richards
-7

vendor/magento/framework/Session/SidResolver.php

Найдите функцию и прокомментируйте строку, как показано ниже.

public function getUseSessionInUrl()
{
   // return $this->_useSessionInUrl;
}
ВИДЖАЙ КАШЯП
источник
1
Не редактируйте основные файлы Magento. Также после следующей команды Composer содержимое vendor/magento/framework/может быть восстановлено / обновлено
7ochem