浏览 659
请教一下这种重定向规则应该怎么写?
https://www.域名.com/forum/forum.php?do=against&tid=123456789&pid=987654321
重定向到
https://www.域名.com/forum/forum.php?mod=viewthread&do=against&tid=123456789&pid=
987654321
也就是插入 mod=viewthread&这串字符
在宝塔的重定向内试了多次不成功,还望哪位高手能指点一下,万分感谢!!!
按点赞数排序
按时间排序
location ^~ /forum {
set $args mod=viewthread&${args};
rewrite ^(.*)$ /$uri last;
}
0
回答于2022-10-31 14:01
配置依赖server_name指令,比如:
http {
server {
listen 80;
server_name www.a.com;
}
server {
listen 80;
server_name www.b.com;
}
}
实现原理也很简单,基于HTTP协议格式前提:域名www.a.com是放在HTTP请求的Host头部中,比如Host: www.b.com。
而Nginx处理与请求时,会首先接收到完整的HTTP头部,再开始根据nginx.conf中的server{ }配置中的server_name域名做匹配,最后决定如何处理(严格来说,是在URL或者Host头部解析到域名后,就会立刻通过哈希表找到对应的server块).
你可以用一台nginx做负载均衡,然后后面的几台nginx去做反向代理,这种不就相当于nginx代替了F5的角色。这种类似于F5的主备机,只不过没有那么强
ticket已经明确地表明了NGINX开发团队的态度,不支持环境变量实现正向代理,可以尝试使用stream配置proxy_pass转发数据,不过解决方案就不是那么简单了。