Arbeiten mit URL-codierten Schrägstrichen in URLs
Beim URL-Routing ist es manchmal notwendig, Parameter zu verarbeiten, die Schrägstriche enthalten. Bei der URL-Codierung werden Schrägstriche jedoch normalerweise durch die Sequenz „/“ ersetzt, wodurch der Routenabgleich unterbrochen werden kann.
Problem:
Bei Verwendung einer Route wie {controller}/{ action}/{id}, URLs mit URL-codierten Schrägstrichen (z. B. „Home/Über/100/200“) stimmen nicht mit überein Route.
Lösung 1: Benutzerdefinierte URL-Kodierung/Dekodierung
Eine benutzerdefinierte URL-Kodierungs-/Dekodierungslösung kann implementiert werden, wie beispielsweise die im folgenden Codeausschnitt bereitgestellte. Bei diesem Ansatz wird der Parameterwert mithilfe von Base64 codiert und ein Präfix angehängt, um anzugeben, dass die Codierung verwendet wurde.
Lösung 2: Platzhalterparameter
Wenn der problematische Parameter immer der letzte ist Erstens können Sie in der Routendefinition einen Platzhalterparameter {*id} verwenden. Dies ermöglicht mehrere Segmente im Parameter, einschließlich Schrägstrichen.
Weitere Überlegungen:
Das obige ist der detaillierte Inhalt vonWie gehe ich mit URL-kodierten Schrägstrichen beim URL-Routing um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!