如何设置NGINX以根据位置(在相同的server_name下)部署不同的单页
我的目标是在同一个域下设置两个不同的单页应用程序(SPA),我们在其中显示与所请求的位置/路径相对应的SPA.我也想默认为两个SPA的/位置之一.并且..如果有人在浏览器中输入网址,我希望SPA附加的html5历史记录位置路径实际路由到正确的位置. 用示例更容易解释. 例: 用户导航到mydomain.com/app 用户导航到mydomain.com/auth 用户导航到/ 用户导航到mydomain.com/auth/login 用户导航到mydomain.com/auth/signup 用户导航到mydomain.com/app/home 我试过root / alias / rewrite / regex / = / ^?规则.我试图更深入地了解nginx设置,但与此同时,这是我目前拥有的:
它应该在/ dist文件夹下找到一个index.html 我想使用正则表达式或位置匹配,让匹配的其余部分通过客户端js应用程序捕获,这样我就不必为每个路由添加新规则(此应用程序实际上具有嵌套状态路由).我知道位置^?修饰符在匹配特定规则后停止,但我无法以任何其他方式使其工作.如果我不使用修饰符,或常规表达位置匹配,或=修饰符……我只是从nginx获得404,403和500个响应. 此外,如果我停止使用别名/重写并使用root关键字,它会尝试在dist文件夹下找到/ app或/ auth实际文件夹,它实际上不应该(如果/ home / user / auth / dist / auth文件夹存在). 我也让客户知道每个SPA的基本目录是什么 我认为我在重写错误,或者我需要更多的重写或其他规则来使事情变得更通用. 我该怎么做呢?可以理解某种样本配置.谢谢. 附:如果有人好奇,我正在使用Ember和Ember-cli.这会生成带有内置应用程序的dist /文件夹,并且还可以允许诸如http://www.mydomain/app/home/visitor/comments/new之类的路由,这就是为什么对每个路径进行硬编码都没有意义(并且应用程序仍处于开发阶段,需要更多路由!). 编辑 我也试过这个,我在/ app和/ auth路径中得到404:
在此之前,请确保您在站点启用时没有默认配置,这有时可能会导致意外行为.
编辑:
它还值得查看this question和nginx docs,它们解释了root和别名之间的差异. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- apache-2.2 – 如何防止我的Web服务器的日志文件变得太大?
- 使用apt-get install nginx后重新编译nginx
- 无法使用Nginx(反向代理SSL协商)和Tomcat上传大文件
- 即使文件存在,start-stop-daemon也不会写入nginx.pid文件
- linux – 您使用什么类型的Web服务器硬件来处理100 Mbps的
- nginx vs lighttpd for wordpress
- 如何在nginx反向代理(HTTPS)后面使用nginx(基本身份验证)进
- nginx配置快速入门
- 尝试使用luajit支持构建nginx但libluajit-5.1.so.2:无法打
- NGINX proxy_pass删除路径前缀并解析DNS