2012-07-02 18 views
17

¿Puede alguien explicar por qué? ___ SID = U aparece en algunas direcciones URL de mi sitio y no en otras?Magento:? ___ SID = U que aparece en algunas direcciones URL

Creo que tiene algo que ver con las sesiones, pero no estoy del todo claro. Además, lo que lo hace más confuso es el hecho de que solo aparece en algunas URL y no en otras.

No necesito saber cómo eliminarlo ya que soy consciente de la configuración en el área de administración. Realmente me gustaría una explicación de qué es, cuál es su propósito y por qué se mostraría en algunas páginas y no en otras. Más bien, entiendo lo que está sucediendo completamente que siguiendo ciegamente algunos consejos sobre cómo eliminarlo.

Respuesta

32

Además de la respuesta de Brendan, el ___SID=U se usa en la memoria caché como marcador de posición para la identificación de la sesión. Se reemplaza por Mage_Core_Model_Url::sessionUrlVar() que a su vez llama al Mage_Core_Model_Url::sessionVarCallback(). Estos métodos se llaman desde Mage_Core_Block_Abstract::_afterCacheUrl(), lo que significa que cualquier URL que se encuentre en la salida del bloque contendrá la ID de sesión correcta (si es necesario).

Así que para deshacerse del parámetro en su propio código de la manera "correcta" utilizar esto:

$url = Mage::getUrl('some/magento/route'); // might append ___SID parameter 
$url = Mage::getModel('core/url')->sessionUrlVar($url); // process ___SID 

Si la cadena sigue mostrando en la página representada que es un error. ¿Estás utilizando algún módulo de caché personalizado o generando URLs de una forma no estándar?

10

El SID es una "ID de sesión". Magento usa esto para rastrear la actividad de un usuario dentro de la misma instalación de Magento. Normalmente, Magento alimenta un sitio web y una tienda desde una instalación (base de datos).

Magento podría alimentar varios sitios web con múltiples tiendas desde una sola instalación. El SID permite a los usuarios permanecer conectados mientras navegan a través de estos sitios web/tiendas.

I piensa si tiene habilitada la función, el SID se envía al acceder a las URL del catálogo para que Magento pueda actualizar la sesión con la ubicación/estado del usuario para el sitio web/tienda actual.

Si no está ejecutando un entorno multi-sitio web o multi-tienda, es seguro desactivar el SID en la interfaz.

+0

Hola, gracias por su valiosa información. ¿Sabes cómo mover la parte de pago a otros servidores web al mismo sitio? Realmente aprecio tu ayuda. Gracias –

2

Apenas me encuentro hoy y aunque hago un comentario, tal vez ayude a alguien. Descubrí que Magento formateará/creará una URL de producto incorrecta (inc. Id. De sesión) si hubo algunos errores durante el procesamiento de la página. Esto no es consistente sin embargo. Vale la pena echar un vistazo a los registros del servidor en busca de errores de PHP.

+0

vio el mismo problema, ID de sesión se muestra en una llamada Ajax debido a un error de PHP en la cadena. – Pooch

0

Busqué durante horas para encontrar esto y la respuesta exacta fue una combinación de las otras respuestas enumeradas aquí. Primero, amplié mi informe de errores de PHP y el registro de errores (gracias Gergely Varga). Vi esto:

PHP Fatal error: Call to undefined function mb_strrpos() in /var/www/html/app/code/local/ManaPro/FilterAjax/Model/Observer.php on line 59 

Así, Magento requiere un paquete php-mbstring, que mi servidor no se ha instalado. Tan pronto como instalé eso, todas las URL SID=U desaparecieron. (¡En el futuro, ejecutaré las comprobaciones previas a la instalación de Magento antes de copiar una instalación existente en un nuevo servidor!)

Gracias a Vinai también por el trasfondo del significado de esta etiqueta.

1

Este es un error general de Magento 2 que ya se informó a magento.

solución temporal es

Ir a raíz de documento, Búsqueda .htaccess y añadir

RewriteCond %{HTTP_HOST} ^abc.com 
RewriteRule ^(.*) www.abc.com/$1 [L,R=301]

a continuación.

Esto debería resolver el problema. Para mí este trabajo en M2.1

Todo lo mejor.

Referencia: https://github.com/magento/magento2/issues/5517

Cuestiones relacionadas