The only 100% safe things which may be done inside if in a location context are:
return …;
rewrite … last;
location ~* \.(css
добавить location ~ /static/
который отправит всё на 127.0.0.1:5001location ~ /static/ {
proxy_pass http://127.0.0.1:5001;
}
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
proxy_pass $app_proxy_target;
В значении параметра можно использовать переменные. В этом случае, если адрес указан в виде доменного имени, имя ищется среди описанных групп серверов и если не найдено, то определяется с помощью resolver’а.
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_METHOD} GET|HEAD
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
RewriteCond %{REQUEST_METHOD} GET|HEAD
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]*[^/])$ $1/ [L,R=301]
RewriteRule ^subscribe/(?:[\dA-F]{2}:){5}[\dA-F]{2}$ subscribe.php
dir/page
# mydomain.com/ -> mydomain.com/lh/index
RewriteRule ^$ https://mydomain.com/lh/index [R=301,L]
# mydomain.com/en -> mydomain.com/lh/index
RewriteRule ^en$ https://mydomain.com/lh/index [R=301,L]
# mydomain.com/en/page -> old.mydomain.com/en/page
RewriteRule ^en/.+ https://old.mydomain.com/$0 [R=301,L]
Полсел добавления location для проксирования ссылок стилей, все нормально начинает грузится, НО
на странице не работает ни одна ссылка.
Если у совпавшего префиксного location’а максимальной длины указан модификатор “^~”, то регулярные выражения не проверяются.
location ^~ /e-voting-ui-pl/console {
proxy_pass http://p01qr01.test.local:8161;
}
error_page 500 501 502 504 505 506 507 508 509 510 511 @err;
return 500 "server error. please try again later.";
так что не будет видно что же на самом деле была за ошибка 502 или 504 .
Это правило именно так и делает, блокирует доступ только если файл есть.
Если файла нет, то правило ничего не блокирует.
Если нужно наоборот блокировать когда файла нет, а когда он есть, то ничего не блокировать.
Достаточно добавить отрицание в условие проверки файла.
Заменить
-f
на!-f
.