Ich war neugierig zu wissen, ob es irgendwie möglich war, nginx so zu konfigurieren, dass es URL-Argumente ohne Angabe von .php
am Ende des Dateinamens analysiert, bevor die Argumente gesendet werden.Nginx mit sauberen URLs, Parameter abrufen und PHP-FPM
Zum Beispiel, ich habe ein Konto-Modul, das basierend auf dem Argument verarbeitet, welcher Aspekt des Kontos geladen werden soll. Wenn das Argument ?sk='login'
ist, wird das Login-Modul geladen. Wenn es ?sk='register'
ist, wird es das Registrierungsmodul laden - und so weiter und so fort.
Das Problem ist, dass, wenn ich http://host/account?sk='login'
eingeben, bekomme ich nichts über $_GET
, wenn ich versuche, die Werte innerhalb des Arrays zu drucken. Die Sache ist, dass die saubere URL lädt die Datei, die die $_GET
Argumente verwalten soll, außer es wird nicht Prozess$_GET
, es sei denn, ich gebe .php
am Ende des Dateinamens.
Ich vermute, es gibt eine Nginx oder PHP-FPM-Konfiguration irgendwie, die dies ermöglicht.
Ist das möglich?
Ist 'account' eigentlich' account.php', oder gibt es einen Frontcontroller bei 'index.php', der das URL-Routing behandelt? – mrlee
ist es eigentlich 'account.base.php', aber nginx behandelt die URL-Rerouting über' location' Blöcke. – zeboidlund
@hakre sorgen, um die Liebe zu verbreiten und zu zeigen, wie es gemacht wird? – zeboidlund