是不是可以用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).