Nginx sert un file simple s'il existe d'autres servez /index.php

Je veux que Nginx serve toutes les requêtes pour les files statiques, mais si le file n'existe pas, alors utilisez index.php qui va gérer tout cela

Actuellement, ma configuration ressemble à ceci,

server { listn 80; listn [::]:80; root /home/www/example.com/htdocs; index index.php; server_name www.example.com; location ~* ^[^\?\&]+\.(html|jpg|jpeg|json|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|svg|woff|ttf)$ { # First attempt to serve request as file, then # as directory, then fall back to index.php try_files $uri $uri/ /index.php; #try_files /favicon.ico =404; } location / { add_header X-Is-PHP true; try_files /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } } 

Ceci est aussi proche que possible, il sert toute request de files statiques, et s'il n'existe pas, sert index.php en tant que file text en clair. Comment puis-je get index.php transmis à l'interpréteur PHP?

essaye ça

 server {
 écouter 80;
 écoutez [::]: 80;

 racine /home/www/example.com/htdocs;

 index index.php;

 nom_server www.example.com;


 location ~ * ^ [^ \? \ &] + \. (html | jpg | jpeg | json | gif | png | ico | css | zip | tgz | gz | rar | bz2 | doc | xls | pdf | ppt | txt | tar | mid | midi | wav | bmp | rtf | js | svg | woff | ttf) $ {
     # Première tentative de servir la request en tant que file, puis
     # comme directory, revenir à index.php
     try_files $ uri $ uri / /index.php;
     #try_files /favicon.ico = 404;
 }

 error_page 404 /index.php;

 location ~ \ .php $ {
             add_header X-Is-PHP true;
             #try_files $ uri = 404;
             try_files /index.php = 404;
             fastcgi_split_path_info ^ (. + \. php) (/.+) $;
             # Avec php5-fpm:
             fastcgi_pass unix: /var/run/php5-fpm.sock;
             fastcgi_index index.php;
             inclure fastcgi.conf;
     }


 }

changements

1) Ajouté error_page 404 /index.php; afin que toutes les requêtes non trouvées sur le server soient redirigées vers index.php

2) Ajout de "~ .php $" à l'atsortingbut de localization.

3) Si vous souhaitez que d'autres files PHP soient interprétés, décommentez la ligne "#try_files $ uri = 404;" et commenter la ligne "try_files /index.php = 404;"

location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php; } }