location ~ /vkbot/ {
root /home/www/vkbot/;
try_files $uri $uri/ /index.php?$args;
index index.php index.html;
...
}
Тут написано следующее: если в запросе
есть (а не начинается, как вы хотите) строка
/vkbot/, то выставим
root /home/www/vkbot/;.
В документации сказано, что uri из запроса
добавляется к указанному пути. Итого, в вашем запросе за
curl http://swight.live/vkbot/
nginx будет искать файлы в папке
/home/www/vkbot/vkbot/. Не то что вы хотели, верно?
Из-за этого
try_files ничего не найдёт и сделает
внутренний редирект на (барабанная дробь)
/index.php. После чего nginx опять начнёт искать подходящий
location и не найдёт ничего лучше чем
location / в котором написан редирект.
Я полагаю, что исправлять надо как-то так:
location /vkbot/ {
root /home/www/;
try_files $uri $uri/ /vkbot/index.php?$args;
index index.php index.html;
...
}