我的设置是:
服务器上每个域的path如下所示:
/var/www/$username/data/www/$domainname
当然要访问您需要使用每个网站的域名的文件。 但是我想要一种使用像这样的URL访问所有域的方法:
http://dm.some.com/clientdomain.com
我怎样才能做到这一点? 这个URL将被用来访问静态文件,所以我认为最好使用Nginx。
问题是确定特定域的用户名。 实际上让nginxsearch所有的用户名来find这是棘手的,不是最佳的。 有两种方法我可以想到。
使用符号链接创build一个目录到每个域,例如:
/srv/www/all/example.com -> /srv/www/alice/data/www/example.com /srv/www/all/example.org -> /srv/www/alice/data/www/example.org /srv/www/all/example.net -> /srv/www/bob/data/www/example.net
然后用/srv/www/all作为根在nginx中设置一个虚拟主机。
地图模块可能是最简单的维护。
map $uri $username { /example.com alice; /example.org alice; /example.net bob; } root /srv/www; rewrite ^/([^/]+)/(.*)$ /$username/data/www/$1/$2 last;