reactjs - Nginx 子文件夹 admin react app 在 main react app 下
问题描述
我有一种情况,我有两个应用程序在反应中开发。
- 用户应用
- 管理应用
我构建了这两个应用程序并将用户应用程序构建放在site
目录中,其中管理员应用程序构建在site/admin
目录内
我想要的是
当有人尝试时www.mydomain.com/admin
,它应该转到 admin 目录,如果 url 中没有给出 admin 那么它不应该寻找 admin 而是应该提供用户文件。
我愿意以任何可能的方式更改目录结构以使此 url 按预期工作。
我付出了很多时间和尝试,但未能取得成果。我遗漏了一些东西,可能与try_files
配置有关,但我还不确定。
以下是我迄今为止为我的需要创建的 Nginx 文件。
如果我写mydomain.org/admin
,它工作正常。
但是当我写的时候mydomain.org/admin/{someotherparam e-g dashboard}
,它会加载主用户反应应用程序而不是管理应用程序。我猜在这种情况下它会读取用户的索引文件。/admin/
如果首先在 url 中,如何读取 admin 的索引文件。
我对nginx配置知之甚少,我确实尝试过google。
如果我将管理目录和用户目录分开,我只剩下一项任务要做。但是我将不得不做我不想要的 domain.org/user 和 domain.org/admin。我希望管理员仅在 url 之后的 url 中有管理员时才做出反应。
我不知道如何让它发挥作用。
server {
listen 80;
listen [::]:80;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name mydomain.org www.mydomain.org;
location / {
root /var/www/mydomain.org/html/frontend/site;
try_files $uri $uri/ /index.html;
}
location /admin(.*) {
root /var/www/mydomain.org/html/frontend/site/admin;
try_files $uri $uri/ /index.html;
}
}
我在 ubuntu 18 上使用 LEMP。
解决方案
你可以试试这个配置吗?
server {
listen 80;
listen [::]:80;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name mydomain.org www.mydomain.org;
root /var/www/mydomain.org/html/frontend/site;
location / {
try_files $uri $uri/ /index.html;
}
location /admin {
try_files $uri $uri/ /admin/index.html;
}
}
推荐阅读
- python - 将 FastAPI 和应用程序与多个选项相结合
- python - 根据与特定点的距离对 3D 边界框进行排序
- javascript - 如何将元组的python列表转换为JavaScript中的数组?
- python - TypeError:gmw() 得到了一个意外的关键字参数“dtype”
- sql - Postgresql - 一年中一周的 Unix 时间戳
- javascript - 使用 JavaScript 对商店产品进行排序
- server - IIS 10.0.14393.0 窗口服务器 2016,删除服务器标头“Microsoft-HTTPAPI/2.0”
- sql - INT 数据类型值在 PostgreSQL 12 中接受 CHAR 数据类型
- connection - Zabbix Server 尝试连接到我的代理
- aframe - Oculus quest 2 控制器模型未在 A-Frame 中正确加载