我正在尝试将我的nginx配置从SubDomain.domain.com重定向到domain.com/SubDomain。我面临的问题是,当我尝试SubDomain.domain.com时,nginx将其重定向到domain.com/subdomain并错过了大写字母。我怎样才能做到这一点?
这是我的nginx配置块:
if ($http_host ~* "^(.+)\.domain\.com$") {
set $subdomain $1;
rewrite (.*) http://domain.com/$subdomain$1;
}
答案 0 :(得分:1)
变量总是小写的。
$宿主
如果Host标头不可用,则此变量等于请求标头中的行Host或处理请求的服务器的名称。
在这种情况下,此变量可能与$ http_host具有不同的值:1)当Host输入标头不存在或具有空值时,$ host等于server_name指令的值; 2)当Host的值包含端口号时,$ host不包含该端口号。自0.8.17起,$ host的值始终为小写。
$ HTTP_HEADER
转换为小写并使用'破折号时,HTTP请求标头HEADER的值转换为'下划线',例如$ http_user_agent,$ http_referer ...;