是不是可以用Nginx做这样的事情?
if ( $http_user_agent = "wget" ){
server {
listen 11.11.11.11:1111;
root /website1/;
server_name example.com www.example.com;
else
server {
listen 22.22.22.22:22222;
root /website2/;
server_name example2.com www.example2.com;
}
最佳答案
Nginx重写模块确实有
if
directive(参见链接文档中的示例),但不是.对于else的等价物将是所有未使用if修改的.
您可以在服务器{}内部使用if,但不能反过来使用.在您已经需要服务器的请求之前,您甚至不会在if中比较条件.在那里,您只能在用户代理是(或不是)wget时提供内容.
另请注意,如果位于内部位置,则不应使用,因为它可能无法正常工作(请参阅If Is Evil).