Nginx 404 for css js files

rewrite directive can be used only within the context of server, location or "if" block. For example, it can not be used in "http" block. You must have used it within the event block or the http block (alongside other server blocks). Please see where I have used the rewrite directive.

worker_processes  auto;

pid        logs/nginx.pid;

events {
worker_connections  1024;

}


http {
    include       mime.types;
    default_type  application/octet-stream;


    access_log  logs/access.log;
    error_log  logs/error.log;
    sendfile        on;
    keepalive_timeout  65;


    server {
        listen       80;
        server_name  default;

        location / {
            root   html;
            index  index.html index.htm;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


    # HTTPS server
    server {
        server_name     local.beer.co.uk;
        listen  80;
        return  301     https://$host$request_uri;
    }

    server {
        listen                     443 ssl;
        server_name                local.beer.co.uk local.beer.telegraph.co.uk;

        ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
        ssl_certificate            /usr/local/etc/nginx/cert.pem;
        ssl_certificate_key        /usr/local/etc/nginx/cert.key;

        gzip_disable "msie6";
        gzip_types text/plain application/xml application/x-javascript text/css application/json text/javascript;

        access_log  /usr/local/var/log/nginx/access.log;
        error_log   /usr/local/var/log/nginx/error.log debug;
        log_not_found off;
        root    /Users/RobDee/workspace/beer;

        location /.htpasswd
        {
            return 403;
        }
        location ~ \.css {
            root /Users/RobDee/workspace/beer/web;
            expires max;
        }

        location ~* \.(jpg|jpeg|png|gif|ico|js|woff|woff2|ttf)$ {
            root /Users/RobDee/workspace/beer/web;
            access_log off;
            expires max;
        }

        location ~* \.(js|css)$ {
            expires 1y;
            log_not_found off;
        }

        location /
        {
            root /Users/RobDee/workspace/beer/web;
            try_files $uri $uri/ /app_dev.php$is_args$args;
            index app_dev.php;
        }

        location ~ \.php$ {
            root /Users/RobDee/workspace/beer/web;
            fastcgi_pass   127.0.0.1:9003;
            fastcgi_index  app_dev.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        rewrite ^/assets/([a-z\-]+)-([a-z0-9]+).(css|js) /assets/$1.$3;

    }

    include servers/*;
}