Welcome! Log In Create A New Profile

Advanced

Re: простая статика и регулярки

Maxim Dounin
June 27, 2014 10:04AM
Hello!

On Fri, Jun 27, 2014 at 08:58:19AM +0600, Mihail Nasedkin wrote:

> Спасибо, Максим.
>
> 26.06.14, Maxim Dounin<mdounin@mdounin.ru> написал(а):
> > Hello!
> >
> > On Thu, Jun 26, 2014 at 03:42:35PM +0600, Mihail Nasedkin wrote:
> >
> >> Доброго всем,
> >>
> >> 1. Странная регулярка для статики:
> >>
> >> location ~ /^(images|css|js|files)/ {
> >> root /path/to/static; # A request for "/images/foo.ext" will
> >> return the file /path/to/static/images/foo.ext
> >> access_log off;
> >> expires 30d;
> >> }
> >> Эта регулярка работает, в т.ч. для запросов типа /images/foo/bar.jpg
> >
> > Вам показалось, процитированное регулярное выражение - не
> > работает.
>
> Реально работает, я голову сломал.

Не работает. Вы наблюдаете эффект от сложного конфига, в котором
запрос попадает не туда, куда вам кажется, и от этого кажется, что
работает.

Вынесите соответствующее регулярное выражение в отдельный блок
server, в конфиг вида:

server {
server_name foo;

location / {
return 200 "this is location /\n";
}

location ~ /^(images|css|js|files)/ {
return 200 "this is location /^(images|css|js|files)/\n";
}
}

И убедитесь, что оно не работает:

$ fetch -qo - http://localhost:8080/images/foo.jpg
this is location /

Что конкретно происходит в вашем конфиге, и почему вам кажется,
что оно работает - "по хвосту" сказать нельзя. Нужно смотреть на
весь блок server{} как минимум.

[...]

> Хорошо, сделал как надо:
>
> location /static/ {
> root /path/to/static;
> access_log off;
> expires max;
> }
>
> Но почему возникают проблемы с доступом к файлу open()
> "/path/to/static/foo/bar.ext" failed (13: Permission denied)?
> Ведь в локации с регулярным выражением этот файл отдает! Права доступа
> проверил сотню раз. Я так понимаю, построение автоиндекса каталога не
> задействовано, запрошен конкретный файл.

Насколько я понимаю, с этим вы уже разобрались, и дело было в
правах.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

простая статика и регулярки

chegeware June 26, 2014 05:44AM

Re: простая статика и регулярки

Maxim Dounin June 26, 2014 07:50AM

Re: простая статика и регулярки

chegeware June 26, 2014 11:00PM

Re: простая статика и регулярки

Aleksandr Sytar June 27, 2014 02:12AM

Re: простая статика и регулярки

М.А. Мохначевский June 27, 2014 02:36AM

Re: простая статика и регулярки

chegeware June 27, 2014 03:22AM

Re: простая статика и регулярки

chegeware June 27, 2014 04:10AM

Re: простая статика и регулярки

chegeware June 27, 2014 02:50AM

Re: простая статика и регулярки

Maxim Dounin June 27, 2014 10:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 69
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready