Reactjs 主react应用程序下的Nginx子文件夹admin react应用程序

Reactjs 主react应用程序下的Nginx子文件夹admin react应用程序,reactjs,nginx,server,digital-ocean,Reactjs,Nginx,Server,Digital Ocean,我有一个在react中开发了两个应用程序的情况 用户应用程序 管理应用程序 我构建了这两个应用程序,并将用户应用程序构建放在site目录中,其中as admin app build位于site/admin目录中 我想要的是 当有人尝试www.mydomain.com/admin时,它应该转到admin目录,在那里,如果url中没有给出admin,那么它不应该查找admin,而是应该提供用户文件 我愿意以任何可能的方式更改目录结构,以使此URL按预期工作 我已经付出了很多时间和努力,但没有取得

我有一个在react中开发了两个应用程序的情况

  • 用户应用程序
  • 管理应用程序
我构建了这两个应用程序,并将用户应用程序构建放在
site
目录中,其中as admin app build位于
site/admin
目录中

我想要的是

当有人尝试
www.mydomain.com/admin
时,它应该转到admin目录,在那里,如果url中没有给出admin,那么它不应该查找admin,而是应该提供用户文件

我愿意以任何可能的方式更改目录结构,以使此URL按预期工作

我已经付出了很多时间和努力,但没有取得结果。我遗漏了一些东西,可能与
try\u文件
配置有关,但我还不确定

以下是我为自己的需要创建的Nginx文件

如果我写
mydomain.org/admin
,它可以正常工作

但是当我写
mydomain.org/admin/{someotherparam e-g dashboard}
时,它会加载主用户react应用程序而不是admin应用程序。我猜在这种情况下它会读取用户的索引文件。如果第一个url中有
/admin/
,如何读取admin的索引文件

我对nginx配置没有太多的了解,因为我尝试过谷歌

我只剩下一个任务要做,那就是把admin目录和user目录分开。 但是接下来我必须做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;

    }
}

我正在Ubuntu18上使用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;
    }
}

太棒了,谢谢。这就成功了。我现在似乎可以刷新管理员视图,并且可以直接转到管理员URL,前端URL也可以工作。你是冠军。令人惊叹的。非常感谢。我认为这是不可能的,我正在尝试移动管理员文件夹:(非常好的帮助。不客气)你也可以看看我在哪里试图解释为什么会发生这种nginx行为,以及可以使用什么解决方案。