Como remover o ID da sessão da URL no Magento 2 (front-end). Este é o SID
parâmetro de consulta na URL.
Por exemplo: https: //example.com/contact/? SID = sfl317buq8ru4uf4a ...
Como remover o ID da sessão da URL no Magento 2 (front-end). Este é o SID
parâmetro de consulta na URL.
Por exemplo: https: //example.com/contact/? SID = sfl317buq8ru4uf4a ...
Respostas:
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
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.
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/
O ?SID
PHP 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.
vendor/magento/framework/Session/SidResolver.php
Encontre a função e comente a linha como abaixo.
public function getUseSessionInUrl()
{
// return $this->_useSessionInUrl;
}
vendor/magento/framework/
pode ter restaurado / atualizados