Nginx子域名重写工作,但发送404头到浏览器


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 $1;
    rewrite ^(.*)$ /$1?lang=$sub_domain last;
}

这确实有效。如果我访问根文件夹,一切都没问题。如果我访问像pt.site.com/about这样的东西,它会工作-正常显示页面,但返回404错误标头。

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

谢谢。

已解析:)

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