Как заставить 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; }
Все равно.
Чую что решение простое и должно быть на поверхности. Ну вот в голове как заноза засела. Когда слово знаешь, а вспомнить не можешь.
Похожие публикации
Хостинг - как объективно оценить качество площадки ?
спанел и корневой сайт
Вредноносные коды, как обезопасить сайты (виртуальный хостинг)
Как делается перенаправление с хостинга на хостинг?
Перенос домена на другой хостинг.
Нет комментариев