nginx / fastCGI两个域,一个代码库和一个子目录

我有一个运行在Nginx,FastCGI和php-fpm上的网站,其上有许多子目录(通过与网站其他部分相同的前端控制器运行)。

  • http://www.example.com/ – 主要网站
  • http://www.example.com/sub/site/ – 微型网站

我正在寻找一个configuration,允许其中一个子站点从一个替代的URL,如http://site.johndoe.com/ – 同一个站点,与相同的前端控制器生产它(磁盘上给定位置的index.php),但仅将http://www.example.com/sub/site/的内容显示为新域。

总之 , http : //site.johndoe.com需要透明地显示http://www.example.com/sub/site/的内容 – 需要重写和其他server{}configuration的Nginx / FastCGI的

所有你需要做的是为site.johndoe.com创build一个新的虚拟主机,并将文档根目录指向/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; } }