У меня есть веб-сайт, работающий на Nginx, FastCGI и php-fpm, с несколькими страницами в подкаталогах на нем (которые запускаются через тот же фронт-контроллер, что и остальная часть веб-сайта).
Я ищу конфигурацию, которая позволит обслуживать один из подсайтов с альтернативного URL-адреса, например http://site.johndoe.com/ - тот же сайт с тем же фронт-контроллером, создающим его (index.php в заданном месте на диске), но показывающий только содержимое http://www.example.com/sub/site/ как новый домен.
В итоге, URL: http://site.johndoe.com необходимо прозрачно отображать содержимое http://www.example.com/sub/site/ - что переписывает и прочее server{}
конфигурации требуются с Nginx / FastCGI?
Все, что вам нужно сделать, это создать новый виртуальный хост для site.johndoe.com
и укажите корень документа на /sub/site
, что-то вроде этого:
server {
listen 80;
server_name www.example.com;
error_log /var/log/nginx/example.error_log info;
root /document/root;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_intercept_errors on;
error_page 404 /error/404.php;
}
}
server {
listen 80;
server_name site.johndoe.com;
error_log /var/log/nginx/johndoe.error_log info;
root /document/root/sub/site;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_intercept_errors on;
error_page 404 /error/404.php;
}
}