Proxying and static files

Francis Daly francis at
Thu Feb 16 21:38:21 UTC 2017

On Thu, Feb 16, 2017 at 08:26:35AM -0500, epoch1 wrote:

Hi there,

> I've tried something like the following but can't get it work for each app:
> location ~* /(images|css|js|files)/ {
>     root /home/username/app1/public/;
> }
> If I request app1/js/script.js for example it goes to
> /home/username/app1/public/app1/js/script.js rather than
> /home/username/app1/public/js/script.js

If the web request /one/two/ does not correspond to a file
/docroot/one/two/, then you probably want to use "alias"
( instead of "root".

It's not clear to me what your exact pattern for recognising "static"
vs "dynamic" files is; perhaps something like one of

  location /app1/images/ {
    alias /home/username/app1/public/images/;

(with similar things for the other directories); or

  location ~* ^/app1/(images|css|js|files)/(.*) {
    alias /home/username/app1/public/$1/$2;


  location ~* ^/app1/(.*.(js|css))$ {
    alias /home/username/app1/public/$1;

In each case, the "location"s (particularly the regex one) could be
nested within the matching "main" location that you already have.

God luck with it,

Francis Daly        francis at

More information about the nginx mailing list