【发布时间】:2015-02-02 16:17:13
【问题描述】:
大家好, 我对 nginx 服务器块有一点问题,希望这里的人知道解决方案。
这是我的配置的样子:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com;
}
server{
listen 80;
server_name *.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name .example.com;
...
}
所以第一个块是正常的 http 重定向到 https 第二个是捕获子域,第三个是位置块所在的位置等。
我的问题是,当第二个块捕获请求时,希望将 /admin 添加到 URL,因此它将是 subdomain.example.com/admin 但我必须检查它是否已经有 /admin 所以我没有得到类似于 subdomain.example.com/admin/admin.
我尝试了 server_name *.example.com$ 和 server_name ~.example.com(=<id>.*) 然后 if ($id = '') 以及数百种组合,但没有得到任何有用的东西。
这里有没有人遇到过类似的问题并解决了?
【问题讨论】: