Come rimuovere l' ID sessione dall'URL in Magento 2 (frontend). Questo è il SID
parametro di query nell'URL.
Ad esempio: https: //example.com/contact/? SID = sfl317buq8ru4uf4a ...
Come rimuovere l' ID sessione dall'URL in Magento 2 (frontend). Questo è il SID
parametro di query nell'URL.
Ad esempio: https: //example.com/contact/? SID = sfl317buq8ru4uf4a ...
Risposte:
Vai a Store> Configurazione> Generale> Web> Impostazioni di convalida sessione> Usa SID su Storefront e imposta il suo valore su No
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.
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/
?SID
PHP 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.
vendor/magento/framework/Session/SidResolver.php
Trova la funzione e commenta la riga come di seguito.
public function getUseSessionInUrl()
{
// return $this->_useSessionInUrl;
}
vendor/magento/framework/
potrebbe essere ripristinato / aggiornato