我有一个运行在Nginx,FastCGI和php-fpm上的网站,其上有许多子目录(通过与网站其他部分相同的前端控制器运行)。
我正在寻找一个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; } }