带spa和子目录root的nginx配置
发布时间:2020-12-14 01:12:53 所属栏目:Linux 来源:网络整理
导读:我似乎总是遇到nginx配置问题.我的SPA位于/ mnt / q / app(启用了pushstate),前端根位于客户端/公共端.应该将所有内容映射到index.html,应用程序会选择路由并决定要执行的操作. 索引的完整路径是/mnt/q/app/client/public/index.html. 我想我现在用完了选项.
我似乎总是遇到nginx配置问题.我的SPA位于/ mnt / q / app(启用了pushstate),前端根位于客户端/公共端.应该将所有内容映射到index.html,应用程序会选择路由并决定要执行的操作.
索引的完整路径是/mnt/q/app/client/public/index.html. 我想我现在用完了选项.无论我做什么,我只是从nginx获得404,我认为配置很简单,并且不知道什么是错的. server { listen 80; server_name app.dev; root /mnt/q/app; location / { root /client/public; try_files $uri @rewrites =404; } location @rewrites { rewrite ^(.+)$/index.html last; } } 任何帮助表示赞赏. 解决方法
如果nginx从根目录查看文件系统,则根目录应设置为/ mnt / q / app / client / public,而不是您正在使用的两个值中的任何一个.
try_files指令的最后一个元素可以是默认操作(例如/index.html),命名位置或响应代码.您在倒数第二个元素中有一个命名位置 – 将被忽略. 您的命名位置应该有效,但是没有必要,因为try_files能够更简单地实现它.有关更多信息,请参见this document 例如: root /mnt/q/app; location / { root /mnt/q/app/client/public; try_files $uri $uri/ /index.html; } location /api { } location /auth { } $uri /元素将添加一个尾随/到目录,以便索引指令可以工作 – 如果你不需要它,你不必添加它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |