> On 18 Apr 2018, at 01:35, c0nw0nk <[email protected]> wrote:
>
> Thank you for the help :)
>
> A new dilemma has occurred from this.
>
> I add a location like so.
>
> location ^~/media/files/ {
> add_header X-Location-Order First;
> }
> location ~ \.mp4$ {
> add_header X-Location-MP4 Served-from-MP4-location;
> }
> location ~*
> \.(ico|png|jpg|jpeg|gif|flv|mp4|avi|m4v|mov|divx|webm|ogg|mp3|mpeg|mpg|swf|css|js)$
> {
> add_header X-Location-Order Second;
> }
>
>
> How can i make it so my MP4 location is not overridden by the
> ^~/media/files/ location.
>
> I would like the responses to be like this.
>
> URL : domain_name_dot_com/media/files/image.jpg
> Header response is X-Location-Order: First
>
> URL : domain_name_dot_com/media/files/video.mp4
> Header response is X-Location-MP4: Served-from-MP4-location
>
> URL : domain_name_dot_com/media/files/other.css
> Header response is X-Location-Order: Second
>
>
> How can I achieve that is it possible to have a location inside a location ?
If you prefer execution of the listed order, the you should use regex locations
only:
location ~ ^/media/files/.+\.mp4$ {
add_header X-Location-MP4 Served-from-MP4-location;
}
location ~ ^/media/files/ {
add_header X-Location-Order First;
}
location ~*
\.(ico|png|jpg|jpeg|gif|flv|mp4|avi|m4v|mov|divx|webm|ogg|mp3|mpeg|mpg|swf|css|js)$
{
add_header X-Location-Order Second;
}
However this approach is not scaleable. Suppose you have hundreds of locations,
then you have
to find appropriate place where to add a new location and have to investigate
the whole large
configuration to understand how this tiny change will affect the configuration.
The other approach is to use prefix locations and to isolate regex location
inside prefix ones:
location / {
location ~*
\.(ico|png|jpg|jpeg|gif|flv|mp4|avi|m4v|mov|divx|webm|ogg|mp3|mpeg|mpg|swf|css|js)$
{
add_header X-Location-Order Second;
}
}
location /media/files/ {
add_header X-Location-Order First;
location ~ \.mp4$ {
add_header X-Location-MP4 Served-from-MP4-location;
}
}
With this configuration you can sort the first level prefix locations in any
order.
--
Igor Sysoev
http://nginx.com
_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx