如何使用 angular 在服务器中导航

How to navigate in server using angular

我创建了一个 angular 应用程序 我的 angular 应用程序 运行ning 在 nginx 服务器上。当我输入“http://.8.100.248:30749”时,它显示 nginx 是 运行ning。 (显示默认 index.html)。但是我的应用程序存在于文件夹名称为 testhtml 文件夹中。所以我的应用程序出现在“html —> test—> index.html”;当我键入“http://.8.100.248:30749/text/index.html”时,它会显示我的主页。现在我可以通过按钮从一个页面导航到另一个页面单击示例。 http://.8.100.248:30749/test/page_1**。但是当我重新加载此页面时 http://**.8.100.248:30749/test/page_1 nginx 显示 404 页面

所以当我输入 http://**.8.100.248:30749/test/index.html 时。 .my application 运行 on browser.but 当我从一个页面路由到另一个页面时 reload 我的页面它给了我 404 示例 (http://**.8.100.248:30749/test/page_1) .

Nginx 在我重新加载我的 angular 路由页面时给我 404。所以我想更改 nginx 配置

     location / {
           root   /usr/share/nginx/html;
           index  index.html index.htm;
   }

你能告诉我方法吗。 ?它的行为是因为此位置 (http://**.8.100.248:30749/test/page_1)

中没有 index.html 文件

查看更新

location / {
           root   /usr/share/nginx/html;
           index  index.html index.htm;
           try_files $uri $uri/ /index.html;
   }

新更新

server {
    listen       80;
    server_name  localhost;
    root   /usr/share/nginx/html;
    index  index.html index.htm;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

   location / {
      try_files $uri $uri/ /index.html;
   }

这是因为最初,您可以通过 Angular 路由导航,但是,在页面刷新时,请求再次通过 Nginx,Nginx 无法找到路由。

将此添加到您的 Nginx 配置中:

try_files $uri $uri/ /index.html;

解决您的问题的示例 Nginx 服务器块如下:

server {
    listen 80;
    listen [::]:80;

    root /var/www/example.com/html;

    index index.html index.htm index.nginx-debian.html;

    server_name example.com www.example.com;

    location / {
        try_files $uri $uri/ /index.html;
     }
}

更新:

由于您的 index.html 位于测试目录中, 使用这个

try_files $uri $uri/ /test/index.html;