我有2个域名
和很多子域
目前我有50块这样的:
server { listen 80; server_name demo1.exemple.*; location / { proxy_pass http://127.0.0.1:8081; } } server { listen 80; server_name demo2.exemple.*; location / { proxy_pass http://127.0.0.1:8082; } }
此解决scheme正在工作,但没有真正优化。
我试图“返回”.com而不是.net,以避免“X”冗余,但我不知道如何包含子域有一个variables。
server { server_name *.demo.net; return 301 http://demo.com$request_uri; }
应该有一种方法来尊重nginx的最佳实践,并避免所有这些冗余,但我不知道如何pipe理这个问题。
在server_name指令中使用命名捕获。 像这样的东西:
server { server_name ~^(?<name>.+).example.net$; return 301 http://$name.example.com$request_uri; }
详情请参阅此文件 。
如果我理解正确,你有不同的端口上提供了很多网站,你已经在NginX中每个服务器块。 如果他们是完全独立的网站,那么这是我想的唯一方法。 但是,如果这些站点都在一个根文件夹下进行服务,则应该只使用一个名称为所有域名的服务器块。
我会因此被烧死,但是我会考虑使用IF来检查域名并根据它redirect用户。 我知道…如果是邪恶!