如何解决NGINX 多个角度应用程序错误页面刷新时出现意外标记“<”
我在我的 vps centos 7 服务器中部署 nginx 多个角度应用程序时遇到问题,我有一个登陆站点和一个仪表板站点来管理来自我的主站点的信息,我的主站点被配置为“根”网页,如www.mydomain.com/home 并且我的仪表板是配置为 www.mydomain.com/dashboard/home 的辅助站点,如果我在登录站点重新加载或执行某些操作,我没有任何问题,但是我的仪表板出现问题,但仅当应用导航到不同的路线,例如我的仪表板路径加载到 /dashboard/login 然后如果我刷新页面工作正常,当我转到仪表板面板时问题就出现了,我有一个带有我的仪表板模板的主路由页面,就像这样:www.mydomain.com/dashboard/home/panel“home”是我使用模板(sidemenu、navbar 等)的基本路由,面板是子路由,其他类似 /dashboard/home/users 等,如果我重新加载我的网页子路由如 /dashboard/home/panel 或 dashboard/home/users 等,页面重新加载空白页面,在控制台中我有错误“Un捕获语法错误:意外标记“
我的nginx配置是这样的:
server {
listen 80;
listen [::]:80;
server_name _;
# FIRST WEB APP - runs on mydomain
root /usr/share/nginx/html/home;
index index.html index.htm;
try_files $uri $uri/ /index.html;
sendfile on;
rewrite_log on;
include /etc/nginx/mime.types;
gzip on;
location ~ ^/(assets|bower_components|scripts|styles|views) {
expires 31d;
add_header Cache-Control public;
}
# SECOND WEB APP - runs on mydomain/dashboard
location /dashboard {
autoindex on;
index index.html;
alias /usr/share/nginx/html/dashboard;
try_files $uri $uri/ /index.html =404;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
我的角度路由是这样的:
app-routing > root route > login/home > home > home 子路由(这里显示错误)。
我尝试了很多东西都没有运气:/
提前致谢。
解决方法
你能试试这个吗?
location ^~ /dashboard/ {
if (!-e $request_filename){
rewrite ^(.*)$ /index.html break;
}
root /usr/share/nginx/html/dashboard/;
}
谢谢