nginx部署react项目,三层路由失效。


server {

listen 3456;

server_name localhost;

location /mfPageA {

alias /Users/penggeng/myProject/microservice-practice/project-a/build;

index index.html;

try_files $uri $uri/ /mfPageA/index.html;

}

location /entry {

alias /Users/penggeng/myProject/microservice-practice/entry/build;

index index.html;

try_files $uri $uri/ /entry/index.html;

}

location /mfPageB {

alias /Users/penggeng/myProject/microservice-practice/project-a/build;

index index.html;

try_files $uri $uri/ /mfPageB/index.html;

}

location @fallback {

rewrite .* /index.html break;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

三层路由本地开发webpack dev server 启动没问题。
脚手架是create-react-app publicpath 已经改成了 '.' 了

阅读 3.7k
2 个回答

破案了。alias后面没加’/‘

  1. nginx 会有 error log 日志。看一下请求打到哪里了
  2. 如果页面可以,资源不可以,很大几率是你的 publicpath 已经改成了 '.' 了 没改生效
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题