【问题标题】:Nginx Subfolder admin react app under main react appNginx 子文件夹 admin react app 在 main react app 下
【发布时间】:2020-05-15 06:39:09
【问题描述】:

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

  • 用户应用
  • 管理应用

我构建了这两个应用程序并将用户应用程序构建放置在 site 目录中,而管理员应用程序构建位于 site/admin 目录中

我想要的是

当有人尝试www.mydomain.com/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。

【问题讨论】:

    标签: reactjs nginx server digital-ocean


    【解决方案1】:

    你能试试这个配置吗?

    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 也可以正常工作。你是冠军。惊人的。非常感谢。我认为这是不可能的,我正试图移动管理文件夹:(很好的帮助。
    • 不客气)您还可以查看this answer,我试图解释为什么会发生这种 nginx 行为以及可以使用哪些解决方案。
    猜你喜欢
    • 2018-06-06
    • 2017-12-06
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多