Ich habe eine Umschreibung in meiner ngix conf-Datei, die ordnungsgemäß funktioniert, außer es scheint, dass der Standortblock als Teil der $ uri-Variablen enthalten ist. Ich möchte nur den Pfad nach dem Ortsblock. Mein aktueller Konfigurationscode ist:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
Unter Verwendung einer Beispiel-URL http://localhost/cargo/testpage
der Weiterleitung funktioniert dies, aber der Wert des Parameters "_REWRITE_COMMAND", der von meiner PHP-Datei empfangen wird, ist "/ cargo / testpage". Ich muss den Standortblock entfernen und nur "Testseite" als $ uri haben
Ich bin mir ziemlich sicher, dass es eine Regex-Syntax gibt, um das $ uri zu teilen und es mit $ 1 $ 2 usw. einer neuen Variablen zuzuweisen, aber ich kann kein Beispiel finden, um nur eine Variablenzuweisung mit einem Regex durchzuführen, der nicht Teil eines Umschreibens ist Erklärung. Ich habe stundenlang gesucht und versucht und kann diesen letzten Schritt scheinbar nicht überwinden.
Ich weiß auch, dass ich dies einfach auf dem Anwendungscode entfernen könnte, aber der Grund, warum ich versuchen möchte, es in der nginx conf zu beheben, ist aus Kompatibilitätsgründen, da es auch auf Apache läuft. Ich sollte auch sagen, dass ich einen wirklich hackigen Weg gefunden habe, dies zu tun, aber es beinhaltet eine "if" -Anweisung, um die Existenz von Dateien zu überprüfen, und die Dokumentation sagt ausdrücklich, dass es nicht so sein soll.
Ich habe eine andere Sache gefunden, die für mich funktioniert hat (da ich Gunicorn verwende, kann ich nicht wählen, was ich bestehen soll)
Sie sollten in der Lage sein, mit durchzukommen
quelle
Für diejenigen, die möglicherweise Schwierigkeiten haben, es für Micro Service oder API mit Node JS hinzuzufügen, habe ich Folgendes verwendet, um
api
die URL auf meinem Server zu entfernen :quelle