NGiNX: файлы PHP из другого места + возврат к индексу начальной загрузки. Переполнение стека

У меня есть две директории, имеющие одинаковую структуру каталогов A есть все файлы, каталог B только файлы, которые отличаются от A (т. е. другой логотип.png). Кроме того, я запускаю ZendFramework, в котором есть модуль управления и администрирования, где должен запускаться загрузчик (index.php).

Так www.my.com, www.my.com/admin/ а также www.my.com/management должен вызвать файл начальной загрузки, и все остальные местоположения должны сначала быть найдены в директории A а затем в B и php файлы должны запускаться из обеих папок.

Я искал и пытался часами решать эту проблему, но я думаю, что должен быть лучший или более легкий путь.

Есть?

Странно было то, что index.php из ZF был загружен вместо выполненного, или другие файлы php, где загружены, не выполнены. Трюк сделал свое дело в location ~* \.php$,

1

Решение

Здесь мы идем с моими файлами конфигурации

server {
...

root /var/www/clients/B/public/;

# ZendFramework run bootstrap index.php
location ~ ^/(management|admin)(?:/|\z) {
try_files $uri $uri/ /index.php$is_args$args;
}

location ~* \.php$ {
include php.conf;
try_files $uri $uri/ @fallbackPHP;
}

location / {
try_files $uri $uri/ @fallback;
}

location @fallback {
root /var/www/clients/A/public/;
}

location @fallbackPHP {
root /var/www/clients/A/public/;
include php.conf;
}
}

и включенный php.conf

try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass php5-fpm-sock-B;
include /etc/nginx/fastcgi_params;
0

Другие решения

Других решений пока нет …