2016-04-04 86 views
0

我有一個服務器,我託管多個域名。根據域名,我想爲基於該域名的相應目錄提供文件。例如:根據域名動態提供網站根目錄

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

在serverfault.stackexchange.com上可以更好地詢問這些問題。 SO是編程問題。 – Rob

+0

感謝您的提示。我會關閉它並在那裏發佈。 – srchulo

回答

1

使用服務器塊外的地圖從$host變量中捕獲域名。

map $host $domain_name { 
    ~(?<domain>[^.]+\.[^.]+)$ $domain; 
} 

然後將新的$domain_name變量添加到您的根語句中。請注意,$host已標準化爲小寫字母,因此您的域目錄也應爲小寫字母。

root /var/www/html/$domain_name; 

確保您已將服務器設置爲默認值。