Ich habe eine get
Route in FormAbrufen von Query-String-Parameter in Schlanke Rahmen 3
$app->get('/redirect[/{subject}]', function ($request, $response, $args) {
});
Wenn ich eine Anfrage an /redirect/server?site=local&name=john
mache ich die subject
bekommen kann direkt mit
$request->getAttribute('subject')
Allerdings kann ich die Abfrageparameter nicht abrufen. Wenn ich $request->getQueryParams()
inspizieren ich:
[
'/redirect/server?site' => 'local',
'name' => 'john'
]
Während ich würde die Abfrage params erwarten sein
[
'site' => 'local',
'name' => 'john'
]
Was mache ich falsch? Vielleicht sollte ich angeben, dass der URL-Parameter kein Fragezeichen akzeptieren darf?
bearbeiten 1
frage ich habe meine Webserver Konfiguration zu veröffentlichen. Ich werde morgen Zugriff auf diese Dev-Maschine haben, also ist dies nur eine Erinnerung an mich, diese Informationen hinzuzufügen. Aber @jmattheis gab mir schon einen Hinweis.
Slim Framework 3 setup for nginx sagt etwas entlang der Linien
location/{
try_files $uri /index.php$is_args$args;
}
Während ich das Umschreiben Schnipsel bin mit, die für schlanke 2 zu einem bestimmten Zeitpunkt vorgeschlagen werden verwendet, um:
location/{
try_files $uri $uri/ /index.php?$request_uri;
}
Diese Konfiguration funktioniert hat für mich seit Jahren gut, aber es passiert, dass ich nie versucht habe zu parsen, was auch immer nach dem Fragezeichen kam. Es ist gerade jetzt, dass ich ein verlassenes Projekt gespalten habe, das ich versuche, rohe $_REQUEST
zu Slim-Routing-Methoden zu transformieren.
Edit 2
Die Code-Basis für das Projekt ist im Repo phpPgAdmin6. Es ist im Grunde eine Verzweigung von phpPgAdmin, die keine Route-Logik hatte, also versuche ich, Anforderungen und Antworten in einem bestimmten Umfang zu zentralisieren, und analysiere die Abfragezeichenfolge mit nativen Slim-Methoden.
Welche schlanke Version, für mich funktioniert alles wie erwartet. – jmattheis
Version 3.8.1, ich führe die App in einem Unterordner des Stammverzeichnisses des Dokuments aus, aber das sollte keinen Unterschied machen, oder? – amenadiel
Bitte posten Sie Ihre.htaccess-Datei – jmattheis