nginx server_name通配符或全部收集
我有一个nginx运行的服务几个网站的实例。 第一个是服务器IP地址上的状态消息。 第二个是admin.domain.com上的pipe理控制台。 这些工作很好。 现在我想要所有其他域请求去一个单一的index.php – 我有大量的域和子域名,它们都列在一个nginxconfiguration是不切实际的。 
 到目前为止,我已经尝试将server_name设置为*但作为无效的通配符失败。  *.*工作,直到我添加其他服务器块,那么我猜它与他们冲突。 
有没有办法在其他网站已经定义之后,在nginx中运行一个全面的服务器模块?
NB我不是一个垃圾邮件发送者,这些是有用内容的真正的网站,他们只是从一个数据库相同的CMS提供动力!
 在您的全部服务器块中更改监听选项。  (添加default_server )这将采取所有你的未定义的连接(在指定的端口)。 
 listen 80 default_server; 
如果你想推动一切index.php文件或文件夹不存在;
 try_files $uri /$uri /index.php; 
一个简单的下划线也适用:
 server_name _; 
资料来源: http : //nginx.org/en/docs/http/server_names.html
这将工作:
 server_name ~^(.+)$ 
对于我以某种方式定义default_server无法正常工作。 我解决了它
 server_name ~^.*$ 
使用所有的正则expression式。