Como remover o SID (ID da sessão) da URL no Magento 2

Respostas:

23

Vá para Loja> Configuração> Geral> Web> Configurações de Validação de Sessão> Usar SID no Storefront e defina seu valor como Não

exemplo

Aqui está a boa resposta sobre o SID :

O SID é um "ID da sessão". O Magento usa isso para rastrear a atividade de um usuário na mesma instalação do Magento. Normalmente, o Magento alimenta um site e uma loja a partir de uma instalação (banco de dados).

O Magento pode alimentar vários sites com várias lojas a partir de uma instalação. O SID permite que os usuários permaneçam conectados enquanto navegam nesses sites / lojas.

Eu acho que se você tiver a função ativada, o SID é enviado ao acessar os URLs do catálogo para que o Magento possa atualizar a sessão com a localização / estado do usuário para o site / loja atual.

Se você não estiver executando um ambiente de vários sites ou várias lojas, é seguro desativar o SID no frontend.

Siarhey Uchukhlebau
fonte
Obrigado pela resposta !!! Vou fazer isso e respondo o resultado em alguns minutos !!!
Matt Bidas
2
Eu usei essa abordagem e desabilitei o SID no front-end, também o modo de armazenamento único definido como "Sim", o SID ainda aparece. No modo de produção, devemos gerar arquivos de regeneração para fazer isso funcionar? Acho que não, pois é um valor de configuração. Alguma ideia?
dchayka
@chachaka Acho que isso pode ser um problema de cache. Tente atualizá-lo.
Siarhey Uchukhlebau
O cache do @SiarheyUchukhlebau foi atualizado. Eu descobri o que é isso. Obrigado pelo acompanhamento.
Dchayka
@SiarheyUchukhlebau Como posso alterar a metatag por exemplo.com/?SID=nufp7tmaardcoff2ddbp4vmmo6 no magento 2 ??
Supriya mishra
4

Aqueles de vocês que já definiram Use SID no Storefront como No (como Siarhey Uchukhlebau apontou em sua resposta), mas ainda não conseguem se livrar do & sid = ... na URL, verifique os links a seguir.

É um bug do Magento, que será corrigido na versão 2.3.
Ticket relacionado: https://github.com/magento/magento2/issues/9453

Felizmente, existe um tutorial do Inchoo sobre como removê-lo via arquivo .htaccess como solução alternativa
http://inchoo.net/dev-talk/remove-sid-from-magento-urls/

Michael Poppinger
fonte
Magento 2.3 é lançado. Isso foi corrigido? Não consigo encontrar nada sobre isso.
Akif
Não estou usando o Magento 2.3, mas no Magento 2.2.6 não estou mais enfrentando esse problema.
Michael Poppinger 24/01
0

O ?SIDPHP não é adicionado automaticamente se o PHP estiver configurado para não armazenar sessões no servidor ou se o navegador não aceitar cookies?

Eu acredito que o Magento não faz isso por padrão. Há uma configuração para isso, mas estou assumindo que o OP não mudou isso, caso contrário, ele teria descoberto isso sozinho.

Giel Berkers
fonte
Se a opção de tempo de execução do PHP session.use_trans_sid estiver ativada, os URIs relativos serão alterados para conter o ID da sessão automaticamente. Esta opção não está ativada por padrão. A configuração padrão do Magento 2 para "Usar SID na montra" é "Sim".
t-Richards
-7

vendor/magento/framework/Session/SidResolver.php

Encontre a função e comente a linha como abaixo.

public function getUseSessionInUrl()
{
   // return $this->_useSessionInUrl;
}
VIJAY KASHYAP
fonte
11
Não edite os arquivos principais do Magento. Também após o próximo comando Composer, o conteúdo vendor/magento/framework/pode ter restaurado / atualizados
7ochem