Ich weiß es und kann es durch Umschreiben erfolgreich umleiten.
Aber ich habe aus dem Blog von Brother Bird erfahren, dass es neben dem Umschreiben noch eine andere Möglichkeit gibt, Einstellungen zu übergeben?
Brother Niao Nginx Pathinfo-Portal
Was ist das Prinzip hinter den anderen Methoden als der Rewrite-Umleitung, die Bruder Niao in seinem Blog erwähnt?
Ich weiß es und kann es durch Umschreiben erfolgreich umleiten.
Aber ich habe aus dem Blog von Brother Bird erfahren, dass es neben dem Umschreiben noch eine andere Möglichkeit gibt, Einstellungen zu übergeben?
Brother Niao Nginx Pathinfo-Portal
Was ist das Prinzip hinter den anderen Methoden als der Rewrite-Umleitung, die Bruder Niao in seinem Blog erwähnt?
Dieser Artikel von Brother Bird ist vom Konzept her tatsächlich etwas verwirrend.
Zuallererst bezieht sich die von Bruder Niao erwähnte Rewrite-Umleitungsmethode auf die Übergabe von PATH_INFO an PHP über die Nginx-Umleitung über die Abfragezeichenfolge.
Beispielsweise fordern wir /user/1
über eine Weiterleitungsregel an und ändern es in /index.php?path_info=/user/1
.
Diese Methode erfordert, dass das PHP-Skript eine Abfragezeichenfolge sammelt, um PATH_INFO zu analysieren, und bestimmte Kompatibilitätsanpassungen sind erforderlich.
Die zweite von Bruder Niao eingeführte Methode besteht darin, PHP die PATH_INFO-Informationen zerlegen zu lassen.
Wenn wir beispielsweise /index.php/user/1
anfordern, kann PHP den Pfad nach dem Skript automatisch als PATH_INFO zerlegen, hier ist /user/1
.
Bruder Niao sagte, dass diese Methode immer noch nicht empfohlen wird, da beim Zerlegen von PHP bestimmte Sicherheitsprobleme auftreten können.
Schließlich führte Bruder Niao eine andere Methode ein, die /index.php/user/1
von /user/1
disassembliert, aber dieses Mal wird der Disassemblierungsprozess von Nginx abgeschlossen. Diese Methode wird von Nginx empfangen Vervollständigen Sie den Prozess. Im Vergleich zu den ersten beiden Methoden zum Abschließen der Disassemblierung in PHP liefert diese Methode bessere Ergebnisse, da sie mehr Informationen verwenden kann und direkter ist.
Aber im Allgemeinen zeigen wir URLs nicht in der Form /index.php/user/1
an. Stattdessen hoffen wir, den Eingang des Programms zu verbergen, der als /user/1
angezeigt wird. Daher müssen wir in diesem Prozess immer noch Nginx's Rewrite verwenden, um den Prozess des Ausblendens des Programmeintrags und der Umleitung zum Programmeintragsskript abzuschließen. Die im Internet übliche versteckte Eintragskonfiguration von PHP Nginx wird durch Rewrite in Verbindung mit der letzten Methode zum Disassemblieren von PATH_INFO vervollständigt.
Es gibt also gewisse Probleme mit dem Vorschlag von Bruder Niao. Die erste Methode zur Demontage von PATH_INFO kann nicht einfach mit Nginx‘ Rewrite gleichgesetzt werden.