Nginx服务器块
为什么大家,, 我对nginx服务器块有一个小问题,我希望这里的人知道解决方案 我的配置如下所示:Nginx服务器块,nginx,server,Nginx,Server,为什么大家,, 我对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$reque
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=和数百个组合,没有得到任何有用的结果
这里有人遇到过类似的问题并解决了吗?代码片段本身并不是很有用。请解释代码的作用,你为什么这样写,以及你希望它如何工作。对不起,我在阅读你的问题之前删除了我的问题,我设法使它工作,这显然是我的某种错误
server {
listen 80;
server_name *.example.com;
if ($request_uri !~ ^/admin/) {
return 301 https://$host/admin$request_uri;
}
return 301 https://$host$request_uri;
}