So entfernen Sie die SID (Sitzungs-ID) von der URL in Magento 2

Antworten:

23

Gehen Sie zu Store> Konfiguration> Allgemein> Web> Einstellungen für die Sitzungsüberprüfung> SID in Storefront verwenden und setzen Sie den Wert auf Nein

Beispiel

Hier ist die gute Antwort zum SID :

Die SID ist eine "Sitzungs-ID". Magento verwendet dies, um die Aktivitäten eines Benutzers innerhalb derselben Magento-Installation zu verfolgen. Normalerweise versorgt Magento eine Website und ein Geschäft von einer Installation (Datenbank) aus.

Magento kann jedoch mehrere Websites mit mehreren Geschäften von einer Installation aus betreiben. Die SID ermöglicht es Benutzern, angemeldet zu bleiben, während sie über diese Websites / Geschäfte navigieren.

Ich denke, wenn Sie die Funktion aktiviert haben, wird die SID beim Zugriff auf Katalog-URLs gesendet, damit Magento die Sitzung mit dem Standort / Status des Benutzers für die aktuelle Website / den aktuellen Shop aktualisieren kann.

Wenn Sie keine Umgebung mit mehreren Websites oder Geschäften betreiben, können Sie die SID auf dem Frontend sicher deaktivieren.

Siarhey Uchukhlebau
quelle
Danke für die Antwort !!! Ich mache das und beantworte das Ergebnis in ein paar Minuten !!!
Matt Bidas
2
Ich habe diesen Ansatz verwendet und die SID im Front-End deaktiviert. Der Single-Store-Modus ist auf "Ja" gesetzt. Die SID wird weiterhin angezeigt. Sollten wir im Produktionsmodus Dateien neu generieren, damit dies funktioniert? Ich denke nicht, da es ein Konfigurationswert ist. Irgendwelche Ideen?
dchayka
@dchayka Ich denke, das könnte ein Cache-Problem sein. Versuchen Sie es zu aktualisieren.
Siarhey Uchukhlebau
@SiarheyUchukhlebau Cache wurde aktualisiert. Ich habe herausgefunden, was es ist. Vielen Dank für das Follow-up.
dchayka
@SiarheyUchukhlebau Wie kann ich das Meta-Tag in Beispiel.com/?SID=nufp7tmaardcoff2ddbp4vmmo6 in Magento 2 ändern?
Supriya Mishra
4

Diejenigen von Ihnen, die Use SID on Storefront bereits auf No gesetzt haben (wie Siarhey Uchukhlebau in seiner Antwort betont hat), aber & sid = ... in der URL immer noch nicht loswerden können, lesen Sie die folgenden Links.

Es handelt sich um einen Magento-Fehler, der in Version 2.3 behoben wird.
Zugehöriges Ticket: https://github.com/magento/magento2/issues/9453

Glücklicherweise gibt es ein Inchoo-Tutorial zum Entfernen über die .htaccess-Datei als Workaround:
http://inchoo.net/dev-talk/remove-sid-from-magento-urls/

Michael Poppinger
quelle
Magento 2.3 ist freigegeben. Wurde das behoben? Kann nichts darüber finden.
Akif
Ich verwende nicht Magento 2.3, aber in Magento 2.2.6 stehe ich diesem Problem nicht mehr gegenüber.
Michael Poppinger
0

Wird ?SIDvon PHP nicht automatisch hinzugefügt, wenn PHP so konfiguriert ist, dass keine Sitzungen auf dem Server gespeichert werden oder der Browser keine Cookies akzeptiert?

Ich glaube, dass Magento dies nicht standardmäßig tut. Es gibt eine Einstellung dafür, aber ich gehe davon aus, dass das OP dies nicht geändert hat, sonst hätte er es selbst herausgefunden.

Giel Berkers
quelle
Wenn die PHP-Laufzeitoption session.use_trans_sid aktiviert ist, werden relative URIs so geändert, dass sie automatisch die Sitzungs-ID enthalten. Diese Option ist standardmäßig nicht aktiviert. Die Standardeinstellung von Magento 2 für "Use SID on Storefront" ist "Yes".
T-richards
-7

vendor/magento/framework/Session/SidResolver.php

Suchen Sie die Funktion und kommentieren Sie die Zeile wie folgt.

public function getUseSessionInUrl()
{
   // return $this->_useSessionInUrl;
}
VIJAY KASHYAP
quelle
1
Bearbeiten Sie keine Magento-Kerndateien. Auch nach dem nächsten Composer-Befehl kann der Inhalt von vendor/magento/framework/wiederhergestellt / aktualisiert werden
7ochem