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/testpageder 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.