如何使用 angular 在服务器中导航
How to navigate in server using angular
我创建了一个 angular 应用程序 我的 angular 应用程序 运行ning 在 nginx 服务器上。当我输入“http://.8.100.248:30749”时,它显示 nginx 是 运行ning。 (显示默认 index.html)。但是我的应用程序存在于文件夹名称为 test
的 html
文件夹中。所以我的应用程序出现在“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;
我创建了一个 angular 应用程序 我的 angular 应用程序 运行ning 在 nginx 服务器上。当我输入“http://.8.100.248:30749”时,它显示 nginx 是 运行ning。 (显示默认 index.html)。但是我的应用程序存在于文件夹名称为 test
的 html
文件夹中。所以我的应用程序出现在“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
)
查看更新
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;