我有一个托管多个域名的服务器。根据域名,我希望根据该域名为相应目录提供文件。例如:
www.domainA.com
提供/var/www/html/domainA.com
www.domainB.com
提供/var/www/html/domainB.com
等。这样我每次添加网站时都不必编辑配置文件。在Apache中我做到了这样:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}} ^(www\.)?(.*)$
RewriteRule ^(.*) /var/www/html/%2/$1
我怎样才能在nginx中做同样的事情?
答案 0 :(得分:1)
使用服务器块之外的地图从$host
变量中捕获域名。
map $host $domain_name {
~(?<domain>[^.]+\.[^.]+)$ $domain;
}
然后将新的$domain_name
变量添加到根语句中。请注意,$host
已标准化为小写,因此您的域目录也应为小写。
root /var/www/html/$domain_name;
确保您已将服务器设置为默认值。