Добрый день, сегодня нашел почему именно не отррабатывают правила но try_file насколько я понял в старом nginx не понимают $
фактически проблема была вот в этом
location ~* ^.+\.(htm|html)$ {
root /var/www/$host/web;
if ($host ~* ^(www\.)(.+)) {
set $HBW $2;
root /var/www/$HBW/web;
}
try_files $uri /index.php;
access_log off;
expires 30d;
}
А следовательно если файл фактически отсутствует то передать его статически из php
а в данном локейшене отдается только статика и php попросту не работает
Соответственно если я добавлю сюда
index index.php index.html index.htm;
root /var/www//web/;
proxy_pass http://$host:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
То все работает
но html больше всегда отдается через php
А Мне нужно только если файла нет то отдавать как php и А если есть то просто отдавать статику как и всегда.
следовательно я написал следующее условие что при try_files $poteryan
отдавать
location $poteryan
root /var/www//web/;
proxy_pass http://$host:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
И по идее насколько я понимаю если файл потерян то отдастся все пойдет напрямую без nginx
что вполне устроит. фактически такие сайты будут работать без кеширования html
Но почему то $potehyan не работает
Подскажите пожалуйста почему ?
nginx очень старый.