Reactjs 主react应用程序下的Nginx子文件夹admin react应用程序
我有一个在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按预期工作 我已经付出了很多时间和努力,但没有取得
- 用户应用程序
- 管理应用程序
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行为,以及可以使用什么解决方案。