Come rimuovere SID (ID sessione) dall'URL in Magento 2


Risposte:


23

Vai a Store> Configurazione> Generale> Web> Impostazioni di convalida sessione> Usa SID su Storefront e imposta il suo valore su No

esempio

Ecco la buona risposta sul SID :

Il SID è un "ID sessione". Magento lo utilizza per tracciare l'attività di un utente all'interno della stessa installazione di Magento. Normalmente, Magento alimenta un sito Web e un negozio da un'unica installazione (database).

Magento potrebbe alimentare più siti Web con più negozi da un'unica installazione. Il SID consente agli utenti di rimanere connessi durante la navigazione attraverso questi siti Web / negozi.

Penso che se hai la funzione abilitata, il SID viene inviato quando accedi agli URL del catalogo in modo che Magento possa aggiornare la sessione con la posizione / lo stato dell'utente per il sito Web / negozio corrente.

Se non si esegue un ambiente multi-sito Web o multi-negozio, è sicuro disabilitare il SID sul frontend.


Grazie per la risposta !!! Vado a fare questo e rispondo il risultato in pochi minuti !!!
Matt Bidas,

2
Ho usato questo approccio e disabilitato il SID sul front-end, anche la modalità Single-store impostata su "Sì", il SID si presenta ancora. In modalità di produzione, dovremmo fare in modo che i file di rigenerazione funzionino? Non credo che sia un valore di configurazione. Qualche idea?
Dchayka,

@dchayka Penso che questo potrebbe essere un problema di cache. Prova ad aggiornarlo.
Siarhey Uchukhlebau,

La cache di @SiarheyUchukhlebau è stata aggiornata. Ho capito di cosa si tratta. Grazie per il follow-up.
Dchayka,

@SiarheyUchukhlebau Come posso cambiare il meta tag per esempio.com/?SID=nufp7tmaardcoff2ddbp4vmmo6 in magento 2 ??
supriya mishra,

4

Quelli di voi che hanno già impostato Usa SID su Storefront su No (come ha sottolineato Siarhey Uchukhlebau nella sua risposta) ma non riescono ancora a sbarazzarsi di & sid = ... nell'URL, dai un'occhiata ai seguenti link.

È un bug di Magento, che verrà risolto nella versione 2.3
Ticket correlato: https://github.com/magento/magento2/issues/9453

Fortunatamente, esiste un tutorial Inchoo su come rimuoverlo tramite il file .htaccess come soluzione alternativa
http://inchoo.net/dev-talk/remove-sid-from-magento-urls/


Magento 2.3 è stato rilasciato. È stato risolto? Non riesco a trovare nulla al riguardo.
Akif

Non sto usando Magento 2.3, ma in Magento 2.2.6 non sto più affrontando questo problema.
Michael Poppinger,

0

?SIDPHP non viene aggiunto automaticamente se PHP è configurato per non memorizzare sessioni sul server o il browser non accetta i cookie?

Credo che Magento non lo faccia per impostazione predefinita. C'è un'impostazione per questo, ma suppongo che l'OP non abbia cambiato questo, altrimenti avrebbe capito da solo.


Se l'opzione run-time PHP session.use_trans_sid è abilitata, gli URI relativi verranno cambiati per contenere automaticamente l'id di sessione. Questa opzione non è attiva per impostazione predefinita. L'impostazione predefinita di Magento 2 per "Usa SID in vetrina" è "Sì".
t-richards,

-7

vendor/magento/framework/Session/SidResolver.php

Trova la funzione e commenta la riga come di seguito.

public function getUseSessionInUrl()
{
   // return $this->_useSessionInUrl;
}

1
Non modificare i file core di Magento. Anche dopo il prossimo comando Composer, il contenuto di vendor/magento/framework/potrebbe essere ripristinato / aggiornato
7
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.