Как настроить nginx для загрузки файлов try из другой папки?
мне нужна помощь в настройке Nginx для загрузки файлов из другой папки. Вот моя конфигурация:
index index.php;
server {
server_name domain.com;
root /www/domain.com/www/;
location / {
try_files $uri $uri/ /php_www/index.php;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /php_www/index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
error_page 404 /404.html;
error_log /var/log/nginx/error.log;
}
проблема в том, что /php_www/ не находится внутри корня, определенного в nginx.
у меня есть 4 разных папки, с которыми мне нужно это сделать, вот как выглядит моя структура папок:
/www/domain.com/www/
/www/domain.com/php_www/
/www/domain.com/content1/
/www/domain.com/content2/
то, что я пытаюсь сделать, это когда посетитель идет в domain.com/page1/content1/
Я хочу загрузить содержимое из папки content1, например. Причина этого У меня есть несколько проектов git с отдельными РЕПО...это позволит мне подтолкнуть определенные области веб-сайта к производству, не влияя ни на что другое. Я бы хотел, чтобы не все мои файлы/контент были доступны в папке /www, поэтому URL-адреса не могут быть атакованы грубой силой, ища контент.
надеюсь, это имеет смысл!
рабочий раствор (из этой комментарий)
location ^~ / {
root /www/domain.com/php_www/;
try_files $uri $uri/ /index.php;
location ~* .(?:php|html)$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
}