nginx 子域重写工作但发送 404 header 到浏览器

nginx subdomain rewrite working but sending 404 header to browser

这个问题把我吓坏了。我感谢一些帮助。

我正在为多语言网站使用动态子域。所以我在 nginx 上有以下代码:

pt.site.com 应该是 site.com/?lang=pt

if ($host ~* (.*)\.site\.com) {
    set $sub_domain ;
    rewrite ^(.*)$ /?lang=$sub_domain last;
}

这确实有效。如果我访问根文件夹,一切正常。如果我访问 pt.site.com/about 之类的内容,它会正常工作 - 正常显示页面但 returns 和 404 错误 header .

这是我的全部代码:http://pastebin.com/yvyChQFv。 有谁知道哪里出了问题吗?

谢谢。

已解决:)

if ($host ~* (.*)\.site\.com) {
    set $sub_domain ;
    rewrite ^/(.*)$ /?lang=$sub_domain?;
}