微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

部署 – Nginx位置,别名,重写,root

我正在服务/ foo / bar /通过proxypass,并希望继续这样做.但是,我想从/var/www/mystatic/baz.swf等静态发送/foo/bar/baz.swf.

我希望我能做点什么

    location /foo/bar/(.*) {
      alias /var/www/mystatic/;
    }

    location / {
      proxy_pass ....;
      ... 
    }

并且/ foo / bar /将转到应用程序服务器,而/foo/bar/(.*)将静态提供.

文档说我不能这样做,需要使用root和rewrite的组合:http://wiki.nginx.org/NginxHttpCoreModule

除了复杂性之外,我还想继续使用古老的,不受支持的0.5.33.任何帮助将非常感谢.

编辑:继续前进,有人建议使用root而不是别名.但是,我的版本似乎不能在location指令上使用任何正则表达式?这里,/ foo / bar / baz.swf由proxy_pass提供服务!我的文件位于/var/www/foo/bar/baz.swf.

    location /foo/bar/(.+) {
      root /var/www/;
    }

解决方法:

你可以这样做;但它有点深奥.尝试使用:

location ^~ /foo/bar {
    alias /var/www/mystatic/;
}

location / {
    proxy_pass ....;
}

这些选项记录在Wiki http://wiki.nginx.org/NginxHttpCoreModule#location

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐