Nginx 相当于 lighttpd“evhost.path-pattern”

Nginx 相当于 lighttpd“evhost.path-pattern”

我正在为我的个人物品设置一个新服务器。在旧机器上,我已经使用 lighttpd 近两年了。我读了一些关于它的资料,大多数人倾向于改用 nginx,因为它的开发更加活跃。

现在我有点被 nginx 的强大功能所折服。我使用 lighty 时最酷的功能是“evhost.path-pattern”功能,我可以使用或多或少复杂的正则表达式并定义“evhost.path-pattern = “/var/www/pages/%0/subdomains/%3/”来委托所有域和子域,因此我只需在“子域”中创建一个新文件夹,同时我就有了一个可用的 webdir 来为新子域(或新域)上传内容。

Nginx 具有以下结构:

server {
    server_name   ~^(www\.)?(?<domain>.+)$;

    location / {
        root   /sites/$domain;
    }
}

但是现在我很难找到一个合适的 RegEx 来同时覆盖域和子域(在 lighty 中,我通过使用 RegEx 来捕获域并对子域取反来实现这一点)。我希望主域(带和不带“www”)转到 /var/www/pages//htdocs/,所有子域都需要转到 /var/www/pages//subdomains//。

对此有什么帮助吗?

答案1

转换自评论至 CW

我现在有两个server{}指令。

一个用于主域(带有和不带有 www),一个用于子域,每个域都有一个合适的正则表达式来获取域名和子域名。

相关内容