nginx 多个域指向同一位置

Joe*_*Chu 4 nginx

我有几个域名注册,如 example.com example.co.uk example.net 我想你明白了。

目前我正在 nginx 配置文件中创建多个服务器块,例如:

server {
    listen 80;
    server_name example.com www.example.com 
    root /var/www/example.com/html 
}

server {
    listen 80;
    server_name example.co.uk www.example.co.uk
    root /var/www/example.com/html

}
Run Code Online (Sandbox Code Playgroud)

还有一些。基本上,它们都指向一个文件夹中的同一个网站。

我的问题是 - 是否可以只创建服务器块来达到同样的目的?喜欢

server {
     listen 80
     server_name example.com example.co.uk example.net // etc
     root /var/www/example.com/html 
}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

VBa*_*art 7

是的,这是可能的。

您可以使用“*”,即使您可以使用正则表达式,一个很好的解决方案可能是:

server {
     listen 80
     server_name ~^example.com|example.co.uk|example.net$;
     root /var/www/example.com/html 
}
Run Code Online (Sandbox Code Playgroud)

我需要做一些类似 peopleusername.wix.com 的事情,我应该这样做:

server {
     listen 80
     server_name  *.wix.com;
     root /var/www/example.com/html 
}
Run Code Online (Sandbox Code Playgroud)

从代码中,我只能从请求中访问完整的 url 并从 url 中提取用户名并从数据库中获取用户 ID 并将用户的所有用户配置和数据放在一起以显示用户的主题和颜色配置

没有魔法: