J'ai la configuration suivante pour le serveur virtuel nginx :
server {
listen 80 default_server;
access_log /path/to/site/dir/logs/access.log;
error_log /path/to/site/dir/logs/error.log;
root /path/to/site/dir/webroot;
index index.php index.html;
try_files $uri /index.php;
location ~ \.php$ {
if (!-f $request_filename) {
return 404;
}
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME /path/to/site/dir/webroot$fastcgi_script_name;
include /path/to/nginx/conf/fastcgi_params;
}
}
Je veux rediriger toutes les requêtes qui ne correspondent pas à des fichiers existants vers index.php. Cela fonctionne bien pour la plupart des URI pour le moment, par exemple :
example.com/asd
example.com/asd/123/1.txt
Ni l'un ni l'autre asd
o asd/123/1.txt
existent donc ils sont redirigés vers index.php et cela fonctionne bien. Cependant, si je mets l'url example.com/asd.php
il essaie de chercher asd.php
et s'il ne le trouve pas, il renvoie 404 au lieu d'envoyer la demande à l'adresse suivante index.php
.
Y a-t-il un moyen d'obtenir asd.php
à envoyer également à index.php
si asd.php
n'existe pas ?