Ngnix用catchall server_name重写

我试图做一个基于catchall服务器名称重写

所以我想要任何命中该服务器的域名

demo.example.com

被重写

example.org?site=demo.example.com

目前我有catchall服务器设置为

server { listen 80 default_server; server_name ~^(.+)$; location / { rewrite ^ http://example.org?site=$host permanent; } } 

不过,上面的configuration是带我去的

http://example.org/?site=~ ^(。+)$

我已经尝试使用$ server_name在重写也没有运气。 有任何想法吗?

你可能会有更好的运气。

 server { listen 80 default_server; location / { rewrite ^/(.*)$ http://example.org/$1?site=$host permanent; } }