Попробуйте изменить свое нижнее location block
location ^~ /blog {
root /var/www/varzesh-kon/;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php$is_args$args;
}
Объяснение: В случае директивы root
полный путь добавляется к root, включая часть местоположения
In ваш случай:
location /blog/ {
root /var/www/varzesh-kon/blog/;
Окончательный путь, который получит nginx, будет следующим:
/var/www/varzesh-kon/blog/blog
Именно поэтому он показывает вам 404 not found
страницу
Решение : либо используйте alias
вместо root
, либо измените root путь на /var/www/varzesh-kon/
location /blog/ {
root /var/www/varzesh-kon/;
...
}
location /blog/ {
alias /var/www/varzesh-kon/blog/;
...
}
для получения дополнительной информации: * вики 1029 *