У меня проблема с настройкой виртуального хоста для Nginx. Это моя структура папок:
public_html / index. php
wrapper / config. php
app /
-> public / index. php
Итак, мое приложение работает на docker, один контейнер для nginx, а другой для PHP -fpm, поэтому, когда я go перехожу на test.com, сайт (используя путь к базе данных) переместит меня на test.com/app/session/login. Папка приложения использует конфигурацию из папки-оболочки, которая находится в главной папке (public_ html). Поэтому test.com всегда будет перенаправлять на test.com/app/session/login, обслуживающий индекс. php из папки public_html / app / publi c.
Моя проблема что мой nginx config не обслуживает файлы должным образом. Я пробовал много способов сделать это, но это никогда не работает. Это мой Nginx conf:
server {
listen 80;
server_name test.com;
root /var/www/public_html/;
index index.php index.html;
error_log /var/log/nginx/error.log info;
access_log /var/log/nginx/access.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass www:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location /app {
root /var/www/public_html/app/public;
rewrite ^/app/(.*)$ /$1 break;
try_files $uri $uri/ /index.php?$args;
}
}
С этим конфигом я получаю слишком много перенаправлений на chrome, но используя curl , он возвращает a 302 Найден код ответа, и он показывает public_html / index. php, а не public_html / app / public / index. php
Любые идеи о том, как заставить это работать должным образом? Помощь очень ценится.