J'ai une réécriture dans mon fichier de configuration ngix qui fonctionne correctement, sauf qu'il semble inclure le bloc d'emplacement dans le cadre de la variable $ uri. Je veux seulement le chemin après le bloc d'emplacement. Mon code de configuration actuel est:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
L'utilisation d'un exemple d'URL de http://localhost/cargo/testpage
la redirection fonctionne, mais la valeur du paramètre "_REWRITE_COMMAND" reçue par mon fichier php est "/ cargo / testpage". J'ai besoin de supprimer le bloc d'emplacement et d'avoir juste "testpage" comme $ uri
Je suis à peu près sûr qu'il existe une syntaxe d'expression régulière pour diviser le $ uri et l'assigner à une nouvelle variable en utilisant $ 1 $ 2, etc., mais je ne trouve aucun exemple pour faire juste une affectation de variable en utilisant une expression régulière qui ne fait pas partie d'une réécriture déclaration. Je regarde et j'essaye depuis des heures et je n'arrive pas à passer cette dernière étape.
Je sais également que je pourrais simplement supprimer cela sur le code de l'application, mais la raison pour laquelle je veux essayer de le corriger dans la conf nginx est pour des raisons de compatibilité car il fonctionne également sur Apache. Je dois également dire que j'ai trouvé un moyen vraiment hacky de le faire, mais cela implique une instruction "if" pour vérifier l'existence du fichier et la documentation dit spécifiquement de ne pas le faire de cette façon.