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/*;
}