1. 一般,网页访问的静态文件,例如 js、css、img都写一个静态的nginx服务即可。如果交给通过rewrite来改写,会交给php-fpm来处理,会出现security.limit_extensions的问题,访问不到。这个时候有两种解决方式
1)把php中的配置修改了即可,例如security.limit_extensions=.php.php3.php4.php5.html.js.css.jpg.jpeg.gif.png.htm。 但是不推荐把这种静态的东西交给php来处理。
2)不交给php-fpm的,nginx自己解决的。去掉以下几句话
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
location /cdn {
root /home/webroot;
rewrite ^/cdn/(.*)$ /weng/$1 break;
#try_files $uri $uri/ /weng/index.php?r=$args;
}
2. nginx自己处理静态文件的写法:
#静态文件,nginx自己处理
location ~ ^/(assets|images|javascript|js|css|flash|media|static)/ {
root /home/webroot/weng;
#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新
expires 30d;
}