Nginx 子文件夹 admin react app 在主 react app 下
Nginx Subfolder admin react app under main react app
我有两个应用程序是用 React 开发的。
- 用户应用程序
- 管理应用程序
我构建了两个应用程序并将用户应用程序构建放在 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。
我只剩下 1 项任务要做,就是将管理目录和用户目录分开。
但是我将不得不做域。org/user 和域。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;
}
}
我有两个应用程序是用 React 开发的。
- 用户应用程序
- 管理应用程序
我构建了两个应用程序并将用户应用程序构建放在 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。
我只剩下 1 项任务要做,就是将管理目录和用户目录分开。 但是我将不得不做域。org/user 和域。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;
}
}