domain.com/img/i/image1.png
domain.com/img/i/image1.png
domain.com/img/i/image1.png
domain.com/file/f/image1.dll
domain.com/file/f/image2.zipdomain.com/image1.png
domain.com/image2.png
domain.com/image3.png
domain.com/image1.dll
domain.com/image2.zip
/image1.png отдать файл /img/i/image1.png.location ~ ^/[^/]+\.png$ {
root /var/www/img/i;
}
location ~ ^/[^/]+\.(?:dll|zip)$ {
root /var/www/file/f;
}/img/i/image1.png на /image1.png нужен редирект с кодом 301.location ~ ^/img/i(/[^/]+\.png)$ {
return 301 $1;
}
location ~ ^/file/f(/[^/]+\.(?:dll|zip))$ {
return 301 $1;
}
просто чтобы любое просто указать, по типу "*"
location ~ ^/[^/]+\.(png|jpg|gif)$ {
root /var/www/img/i;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/file/f;
}
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
return 301 $1;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/[^/]+\.[^/]+$ {
return 301 $1;
}/location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
return 301 $1;
}location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
/image.png обрабатывается в location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}/var/www/html/domain.com/img/i/kartinka.png
GET /img/i/kartinka.png HTTP/1.1
Host: domen.comHTTP/1.1 301 Moved Permanently
Location: https://domen.com/kartinka.pngGET /kartinka.png HTTP/1.1
Host: domen.comHTTP/1.1 200 OK и передаёт содержимое нужного файла.
location ~ ^/(?!index.html)[^/]+\.[^/]+$ {
root /var/www/html/mysite.com/file/f;
}location = /index.html {
}server указан root /var/www/html/domain.com;location ~ /\. и внутри deny или return 403;И ещё если запрашиваю так же существующий файл без расширения, выдаёт 404
Например https://domain.com/webmin-setup-repos
#. files
location ~ /\.(?!well-known) {
deny all;
} ^/[^/]+\.[^/]+$^/[^/]+$location ~ ^/(?!index\.html)[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}location ~ ^/file/f(/[^/]+)$ {
return 301 $1;
}
PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpAovX9o' to 'file/f/fuse3-3.9.3-r0.apk' in /var/www/html/domain.com/scripts/file.php on line 107
file/f/fuse3-3.9.3-r0.apk не начинаетя с /.