Имеем проект на Laravel.
И понадобилось часть запросов на /sub обрабатывать отдельным скриптом. Но вот незадача, отдельный скрипт тоже написан на Laravel и по сути является независимым проектом.
Никак не могу заставить свой мозг сообразить как же изменить конфиг nginx'a чтобы всё работало. Помогите разобраться, пожалуйста.
Сейчас конфиг стандартный как у всех:
server {
# все как у всех
listen 80 default_server;
server_name domain.cm;
root /home/domain.com/public;
index index.php;
# тут все стандартно
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# и тут все стандартно
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Соответственно /home/domain.com лежит проект. А /home/domain.com/public точка входа в приложение.
Так вот в /home/domain.com/sub лежит подпроект. И его точка входа естественно /home/domain.com/sub/public
А надо отдать его как domain.com/sub. Причем чтобы юзера не редиректило в domain.com/sub/public
Пробовал реализовать то что мне нужно вот так:
location /sub {
alias /home/domain.com/sub/public/;
try_files $uri $uri/ /index.php?$query_string;
}
Не работает.
Пробовал так:
location /sub {
root /home/domain.com/sub/public/;
rewrite ^(.*) /index.php$1;
}
Все равно.
Чую что решение простое и должно быть на поверхности. Ну вот в голове как заноза засела. Когда слово знаешь, а вспомнить не можешь.