2017-02-14 11 views
1

Довольно простой, но по какой-то причине, я не могу понять правильный синтаксис:Nginx путь расположение соответствие

location /ios/ { 
    try_files $uri $uri/ /ios/index.php$is_args$args; 
} 

location /cap/ { 
    try_files $uri $uri/ /cap/index.php$is_args$args; 
} 

location /aww/ { 
    try_files $uri $uri/ /aww/index.php$is_args$args; 
} 

Я хотел объединить всех тех, с вариантами, чтобы бросить в более приложений в то верхнего уровня.

Установка является: каждый каталог является его собственное приложение (код-воспламенитель или Laravel) и находится на domain.com/:app

Я пытаюсь объединить пути здесь (прод сайт Apache, с помощью Nginx здесь), но все мои попытки сделать это потерпели неудачу.

Я попробовал ~ /([\w\-]+)/ [...] /$1/index.php[...], однако это терпит неудачу. Просто использование ~ /ios/ не удается (вызывает загрузку страницы).

Что мне здесь не хватает?

+0

Почему это не удается? Что происходит? –

+0

@FaisalMemon Страница-скачать. Или 404. Загрузка страницы в основном. Очень странно, как PHP не интерпретируется, хотя у меня есть стандартный ловушка \ .php $. – guice

ответ

1

Вы можете использовать именованный расположение, чтобы выполнить внутреннюю перезапись на правильный index.php файла:

location/{ 
    try_files $uri $uri/ @rewrite; 
} 
location @rewrite { 
    rewrite ^(/[^/]+)/ $1/index.php$is_args$args last; 
    return 404; 
} 

this document См больше.

+0

Отлично! Похоже, что это работает так, как ожидалось, включая интерпретацию php. Благодаря! – guice