2

I'm using nginx host by Ubuntu 14.04

My config file :

  server {

    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    # Make site accessible from http://localhost/
    server_name testing.com;



location /site/admin/ {
    alias /usr/share/nginx/html/site/admin/src/;
}

location ~ \.(css|js)$ {
     expires 1y;
     access_log off;
     add_header Cache-Control "public";
}

I've got some errors

[error] 29224#0: *10047 open()     "/usr/share/nginx/html/site/admin/assets/js/jquery.nestable.js" failed (2: No such file or directory) 

Actually that file is located :

 /usr/share/nginx/html/site/admin/src/assets/js/jquery.nestable.js

How can i set my config file?

1 Answer 1

3

Your location ~ \.(css|js)$ block inherits root /usr/share/nginx/html from the server block.

Also, regular expression location blocks take precedence over prefix location blocks - see this document for details.

You can force your location /site/admin/ block to override regular expression location blocks at the same level by using the ^~ modifier:

location ^~ /site/admin/ {
    alias /usr/share/nginx/html/site/admin/src/;
}

The above location block is a prefix location (and not a regular expression location block). See this document for details.

Of course, this also means that URIs beginning with /site/admin/ and ending with .css or .js will no longer have their caching parameters changed. This can be fixed by adding a nested location block, as follows:

location ^~ /site/admin/ {
    alias /usr/share/nginx/html/site/admin/src/;

    location ~ \.(css|js)$ {
        expires 1y;
        access_log off;
        add_header Cache-Control "public";
    }
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.