我有一个响应多个域的 nginx 服务器,我确实想将所有请求重定向到主域。
示例:网站xxx xxx.example.com yyy.example.com $hostname
同时响应http
和https
。
我想以这样的方式配置服务器,即所有对其他域名的请求都将重定向到xxx.example.com
.
我有一个响应多个域的 nginx 服务器,我确实想将所有请求重定向到主域。
示例:网站xxx xxx.example.com yyy.example.com $hostname
同时响应http
和https
。
我想以这样的方式配置服务器,即所有对其他域名的请求都将重定向到xxx.example.com
.
最有效和干净的方法是配置两个单独的 server{} 块 - 一个进行重定向,另一个(具有规范名称)实际处理请求。
示例配置:
文档:
我认为沿着这些方向的东西应该起作用:
这是 Brenton Alker 的 anser 的一个变体,使用
$server_name
变量来重用server_name
指令的值。或者,保留任何查询参数:
此处,
$server_name
指的是主服务器名称,即server_name
指令中的第一个名称,而$host
指的是 HTTP 请求中给出的主机名。请注意,
if
nginx 配置中的语句并不总是按照您的预期执行,并且某些人不鼓励使用它。另见https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/