<div dir="ltr">I have the following configuration file defined in<br>/etc/nginx/conf.d/my-project.conf (this is on debian).<br><br>It does what I want, in that it serves static contet in the /css, /images,<br>/js folders along with index.html correctly.<br><br>And for dynamic requests (I'm running an fcgi-enabled server on port 9001)<br>to /contact, /login, and /singup it also works correctly.<br><br>I would just like to be able to declare that anything *except* index.html,<br>/css, /images, and /js, it should all go to the fcgi server.<br><br>I've experimented with various definitions of "location", but the only<br>one that seems to work is the one I have below, where all the possible<br>fcgi paths are defined explicitly.<br><br>Is there a better, simpler way of doing this?<br><br>server {<br>  listen   80;<br>  listen   [::]:80 default_server ipv6only=on; ## listen for ipv6<br>  server_name  localhost;<br>  root   /var/www/my-project/html;<br><br>  location / {<br>    index  index.html;<br>  }<br><br>  location /images/ {<br>    root   /var/www/my-project/html;<br>  }<br>  location /css/ {<br>    root   /var/www/my-project/html;<br>  }<br>  location /js/ {<br>    root   /var/www/my-project/html;<br>  }<br><br>  location ~ ^/(contact|login|signup)$ {<br>    include /etc/nginx/fastcgi_params;<br>    fastcgi_pass  <a href="http://127.0.0.1:9001">127.0.0.1:9001</a>;<br>  }<br>}<br><br></div>