Nginx 具有静态引用的多个目录

Nginx 具有静态引用的多个目录

我有一台 Nginx 服务器,我想在其上托管两个独立的反应应用程序,我们将它们称为 Aapp 和 Bapp。

文件夹结构如下

  • Aapp(目录)
    • 索引.html
    • 脚本.js
    • 样式.css
  • Bapp(目录)
    • 索引.html
    • 脚本.js
    • 样式.css
  • ..其他文件和目录

然后我的配置文件设置如下:

server {
  root home/user/Aapp;
  index index.html;
      
  location ^~ /Bapp {
    allow all;
    alias /home/user/Bapp;
  }
  ....
}

访问 URL my-domain/Bapp 成功显示来自文件夹“Bapp”的 index.html,但它包含来自“Aapp”的 script.js 和 style.csss,而不是来自“Bapp”的 script.js 和 style.csss。

有没有办法告诉服务器,如果文件请求来自 Bapp 文件夹,它应该使用“Bapp”文件夹文件?还是我需要在应用程序构建脚本中更新它?(不理想,因为不同的环境可能不同)

答案1

您需要在应用程序设置中处理应用程序的基本 URL 设置:https://stackoverflow.com/questions/48134785/how-to-set-a-base-url-for-react-router-at-the-app-level

nginx 无法很好地处理这个问题。

答案2

这个问题可能更多是基于脚本而不是服务器的。在您的 React 应用中,您是否将文件引用为 src="/script.js" 或只是 src="./script.js"?

我想象的问题是,您的脚本引用的是绝对主目录,即 /home/user/Aapp,而不是引用相对位置。

相关内容