Haben Sie einen Client, der viele Bezeichner hat, die/s in ihnen haben. Wir verwenden diese IDs in der URL. (Warum ihre Software solche Sonderzeichen in SKU-Nummern zulässt, ist eine Frage für einen anderen Tag.)IE und Edge konvertieren% 2F in% 252F, wenn geklickt wird
Verwendung von Apache 2.4, AllowEncodedSlashes NoDecode ist gesetzt und funktioniert einwandfrei.
Auf bestimmten Client-Computern in IE und Edge (wenn das Problem vorhanden ist, ist es in beiden vorhanden), wenn der Link angeklickt oder sogar in die Adressleiste eingefügt wird, können Sie die% 2F in% 252F ändern .
Auf diesen Computern funktionieren Chrome und Firefox gut.
Beispiel-URL: (proper)
https://www.grandbrass.com/item/bb0-5%2F8x4%2F36/balls-round_solid_turned_metal_balls/
Wird: (falsche)
https://www.grandbrass.com/item/bb0-5%252F8x4%252F36/balls-round_solid_turned_metal_balls/
Bei den Maschinen diese konsistent ist.
AFAIK das geschieht sofort im Browser.
Mein Verdacht ist, dass dies etwas mit der Seitencodierung und den Spracheinstellungen des Clients zu tun hat, oder so etwas, aber ich kann nicht einmal anfangen zu erraten, was das Problem sein könnte.
Hier ist ein Link zu einem (geringe Qualität) Video, das zeigt, dass es passiert. https://recordings.join.me/oM6XCRZ_0kOYuEn9OjtWAg
** UPDATE **
Es scheint, dass es etwas los mit mod_rewrite auf dem Server ist. Warum es nur Auswirkungen auf Edge und IE auf einigen Computern hat, ist nicht klar, aber ich konnte es in Chrome duplizieren.
Es scheint, dass, wenn eine URL, die einen% 2F enthält, eine mod_rewrite Regel auslöst, dann wird% 2F durch den% 252F ersetzt.
Zum Beispiel gibt es eine Regel einen Schrägstrich hinzufügen, wenn einer fehlt:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]
So funktioniert das: https://www.grandbrass.com/item/crb1-1%2F8x8/checkrings-plated_steel_checkrings/
Diese (Anmerkung fehlende Schrägstrich) werden nicht: https://www.grandbrass.com/item/crb1-1%2F8x8/checkrings-plated_steel_checkrings
Was ich am Ende mit in dem zweiten Fall ist (Anmerkung hinzugefügt Strich und übersetzte% 2F): https://www.grandbrass.com/item/crb1-1%252F8x8/checkrings-plated_steel_checkrings/
Das schafft Probleme, wie in PHP ich am Ende mit crb1-1 // F8x8 als Wert, der kein gültiger Artikelcode ist.
Ich habe das versucht und es hat nicht funktioniert. % 2F ist kein Leerzeichen, es ist ein Schrägstrich. Es funktioniert auf den meisten Systemen, nur nicht auf einigen IE- und Edge-Browsern. AFAIK es im Browser tun, nicht rund um den Server stolpern. –