Hola a todos,
En nuestro foro tenemos un problema: cuando una URL se muestra en una caja (oneboxed), se modifica la propia URL.
Como ejemplo:
Este es un enlace a nuestro sitio web:
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel%2CHet+Clown&s2=Pastel%2CHet+Clown
Pero esto es lo que aparece cuando se muestra en una caja:
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
Donde:
“%2C” se cambia a “,”.
“+” se cambia a “%2B”.
Esto hace que los usuarios obtengan resultados incorrectos en nuestro sitio.
¿Hay alguna forma de evitar que esto ocurra o alguna solución alternativa?
Richie
(Richie Rich)
8 Marzo, 2021 20:19
2
Esos enlaces son idénticos:
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
¿Podrías ponerlos entre comillas invertidas para que los veamos como pretendías?
Lo siento, fue mi culpa
Así es como debería verse:
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel%2CHet+Clown&s2=Pastel%2CHet+Clown
Esto es lo que sucede cuando se pone en un solo bloque:
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
Si la URL funciona en ambos casos, ¿por qué importa?
Porque conducen a resultados diferentes.
Esto es lo que debería mostrarse a través del enlace:
No esto:
Esto marca una gran diferencia al intentar calcular la genética correctamente.
david
(David Taylor)
24 Julio, 2023 11:59
9
Parece que las URL en el OP ya no se pueden previsualizar (no hay etiquetas opengraph en el sitio). Pero solo lo anoto para que conste, este problema debería haber sido resuelto por
committed 10:55AM - 09 Aug 22 UTC
normalized_encode in addressable has a number of issues, including https://githu… b.com/sporkmonger/addressable/issues/472
To temporaily work around those issues for the majority of cases, we try parsing with `::URI`. If that fails (e.g. due to non-ascii characters) then we will fall back to addressable.
Hopefully we can simplify this back to `Addressable::URI.normalized_encode` in the future.
This commit also adds support for unicode domain names and emoji domain names with escape_uri.
This removes an unneeded hack checking for pre-signed urls, which are now handled by the general case due to starting off valid and only being minimally normalized. Previous test case continues to pass.
UrlHelper.s3_presigned_url? which was somewhat wide was removed.