Как заставить nginx отдавать по domain.com/sub отдельную папку?
Имеем проект на Laravel4. Страшное legacy. Тормозит местами.
Решилил переписать потихоньку на другом фреймворке.
Задача такая: Часть запросов на URL /sub обрабатывать отдельным движком.
Никак не могу заставить свой мозг сообразить как же изменить конфиг 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; }
Все равно.
Чую что решение простое и должно быть на поверхности. Ну вот в голове как заноза засела. Когда слово знаешь, а вспомнить не можешь.
Решилил переписать потихоньку на другом фреймворке.
Задача такая: Часть запросов на URL /sub обрабатывать отдельным движком.
Никак не могу заставить свой мозг сообразить как же изменить конфиг 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; }
Все равно.
Чую что решение простое и должно быть на поверхности. Ну вот в голове как заноза засела. Когда слово знаешь, а вспомнить не можешь.
Похожие публикации
Уважаемые хостеры, помогите!
Технический вопрос по хостингу для форума
Как такое может быть? Сервер недоступен, но не для всех.
Фильтр сервер
Подскажите хочтинг для Wordpress
Нет комментариев