Конфигурация Nginx для Эгеи
К моему большому удивлению, я не нашёл ни одной действующей конфигурации Nginx, которая бы позволяла Эгее стабильно работать вместе с Nginx в директории, отличной от корня сайта. Например, в /blog.
Стандартный пример конфигурации веб-сервера от Ильи позволяет запускать Эгею только в корне, потому что без специальных редиректов Nginx не понимает, как правильно обрабатывать запросы движка.
Делюсь своей рабочей конфигурацией:
server {
listen 443 ssl;
ssl_certificate /etc/ssl/podivilov_ru/podivilov_ru.crt;
ssl_certificate_key /etc/ssl/podivilov_ru/podivilov_ru.key;
ssl_prefer_server_ciphers on;
server_name podivilov.ru www.podivilov.ru;
keepalive_timeout 70;
root /var/www/podivilov.ru;
index index.php index.html;
location ~* ^.+\.(jpg|jpeg|gif|css|html|htm|png|js)$ {
access_log off;
expires 30d;
}
location ~ /blog/user/(psa|json|sql|logs|caches|backup) {
deny all;
return 404;
}
location / {
try_files $uri $uri/ =404;
}
location /blog {
log_not_found off;
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/blog/(.*)$ /blog/index.php?go=$1 last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}