Hello World,
Alors voila je suis sur Nginx avec php7.0
j'ai donc une rêgle de rewrite dans ma conf Nginx
rewrite ^/monfichier.txt /monfichier.php break;
Que monfichier.txt qui "qui est bien monfichier.php" s'execute et s'affiche dans le navigateur
Le téléchargement d'un fichier monfichier.txt avec le code php non exécuté dedans,
on même temps ca peut sembler logique, mais sous apache ça marchait comme ça....
Une idée ? Merci à vous.
Franck
Effectivement, tu peux faire de deux façons:
server{
#option 1
rewrite ^/monfichier.txt /monfichier.php last;
#option 1bis
rewrite ^/monfichier.txt /monfichier.php permanent;
#option 2
location ^/monfichier.txt {
rewrite /monfichier.php permanent;
}
}
Merci Yanis pour ce retour !
j'en profite pour te poser une seconde question,
avec un bloc sur un dossier
Ce code marche :
location /dossier {
rewrite ^/dossier/sousdossier/monfichier.txt /dossier/sousdossier/monfichier.php last;
}
Ce code marche pas "rewrite en relatif"
location /dossier {
rewrite ^/sousdossier/monfichier.txt /sousdossier/monfichier.php last;
}
Merci.
Franck
En effet c'est une histoire de regex :) le ^
veut dire que ton url doit absolument commencer par /sousdossier/monfichier.txt
tu trouveras comment faire ici :) http://stackoverflow.com/questions/13706658/variable-capture-in-nginx-location-matching