On 29.06.2018 17:36, al3x wrote:
При обращении по IP сервера nginx сначала смотрит в /home/user/ и если не находит там index.php, то смотрит в /home/admin/index.php и отдает его.
nginx не обрабатывает файлы *.php, этим занимается интерпретатор PHP. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9032; fastcgi_index index.php; include /etc/nginx/fastcgi_params; Все что делает nginx - он передает PHP полное имя файла и некоторые дополнительные параметры и отдает клиенту результат.
Далее /home/admin/index.php выполняет свою работу и хочет обработать файл template/news.html. Nginx должен проверить, нет ли этого файла в директории юзера /home/user/template/news.html и если есть, то отдать его. Если этого файла нет, то отдать из папки /home/admin/template/news.html
Когда PHP интерпретирует файл /home/admin/index.php - nginx в этом процессе участия не принимает и никак не может повлиять на то, какой именно файл будет прочитан интерпретатором PHP из файловой системы.
Затем юзер захотел создать свой личный модуль и положил его в папку /home/user/modules/new_module.php и когда /home/admin/index.php загружает модули из папки /modules/ то nginx должен сначала проверить все файлы в директории юзера /home/user/modules/, а затем здесь /home/admin/modules/ и таким образом подгрузить для PHP все модули из двух директорий, словно из одной.
Если скрипт /home/admin/index.php должен смотреть в два каталога, то такую логику имеет смысл закодировать прямо внутри этого скрипта. nginx в процессе интерпретации *.php файлов участия не принимает.
Т.е. директории должны быть как бы зеркалами друг друга. Это возможно сделать?
Теоретически - наверное возможно, если написать свой модуль ядра, который будет реализовывать эту логику на уровне файловой системы. Практически - лучше всего эту логику реализовать средствами PHP в файле /home/admin/index.php - тогда все будет работать именно так как хочется. -- Best regards, Gena _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru