Nginx static files exclude one or some file extensions
Solution 1
location ~* \.(?:avi|bin|bmp| ... |(?<!\.pptx\.|\.ppt\.)swf)$ {
root /var/www/html1;
access_log off;
expires 1d;
}
.
$ man pcrepattern
$ man pcresyntax
Solution 2
Since you're using regular expression in your location for static files, you can just add !pptx?\.swf
condition to it and exclude condition swf
Your location will look like this:
location ~* \.(avi|bin|bmp| ... |!pptx?\.swf)$ { root /var/www/html1; access_log off; expires 1d; }
And don't forget to add separate location for *.swf
files:
location ~* [0-9a-z]*\.swf$ root /var/www/html1; access_log off; expires 1d; }
Related videos on Youtube
Evgenii Iablokov
Updated on September 18, 2022Comments
-
Evgenii Iablokov almost 2 years
I'm serving up a static site via nginx.
location ~* \.(avi|bin|bmp|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|zip)$ { root /var/www/html1; access_log off; expires 1d; }
And my goal is to exclude requests like
http://connect1.webinar.ru/converter/task/
. Full view is likehttp://mydomain.tld/converter/task/setComplete/fid/34330/fn/7c2cfed32ec2eef6788e728fa46f7a80.ppt.swf
. Despite the fact these URLs ends in such a format they are not static, but fake script requests, so I have a problems with them.What is the best way to do this? How can I add an exclusion for this URL or maybe I can to exclude the specific file exptension (.ppt.swf, pptx.swf) from the list of this Nginx location?
Thanks.
-
Evgenii Iablokov almost 12 yearsOu, and I forgot to add that the problem is that we have .swf format goes via Nginx. I need to exclude .ppt.swf, pptx.swf and same ext's only. I don't need to exclude .swf as a whole.
-