所有 url 上的 nginx index.html
nginx index.html on all url
我愿意这样做
localhost/ | index.html
localhost/category | index.html
localhost/notes | index.html
localhost/notes/note1 | index.html
我尝试这样做,但无穷无尽的错误阻止了我。
当我尝试使用本地主机时,我看到了它。
在处理“/index.html”时重写或内部重定向循环 - 此错误 500。
server {
listen 80;
server_name localhost;
root C:/Users/Sergey/Desktop/xxx/angular2do;
location / {
if ($request_method = POST) {
proxy_pass http://localhost:3000;
}
if ($request_method = GET) {
rewrite ^.*$ /index.html last;
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root html;
# }
}
我知道堆栈有很多关于这个问题的问题,但我曾经是所有这些问题并且总是发现错误。
在 location
块中使用 rewrite ... last
只会循环重写 /index.html
到 /index.html
。您应该改用 rewrite ... break
。有关详细信息,请参阅 this document。
如果您的应用程序还需要资源(css、js、图像),您可以采用另一种方法,即returns静态文件(如果存在),例如:
server {
listen 80;
root C:/Users/Sergey/Desktop/xxx/angular2do;
location / {
try_files $uri @other;
}
location @other {
if ($request_method != POST) { rewrite ^ /index.html last; }
proxy_pass http://localhost:3000;
}
}
我愿意这样做
localhost/ | index.html
localhost/category | index.html
localhost/notes | index.html
localhost/notes/note1 | index.html
我尝试这样做,但无穷无尽的错误阻止了我。 当我尝试使用本地主机时,我看到了它。
在处理“/index.html”时重写或内部重定向循环 - 此错误 500。
server {
listen 80;
server_name localhost;
root C:/Users/Sergey/Desktop/xxx/angular2do;
location / {
if ($request_method = POST) {
proxy_pass http://localhost:3000;
}
if ($request_method = GET) {
rewrite ^.*$ /index.html last;
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root html;
# }
}
我知道堆栈有很多关于这个问题的问题,但我曾经是所有这些问题并且总是发现错误。
在 location
块中使用 rewrite ... last
只会循环重写 /index.html
到 /index.html
。您应该改用 rewrite ... break
。有关详细信息,请参阅 this document。
如果您的应用程序还需要资源(css、js、图像),您可以采用另一种方法,即returns静态文件(如果存在),例如:
server {
listen 80;
root C:/Users/Sergey/Desktop/xxx/angular2do;
location / {
try_files $uri @other;
}
location @other {
if ($request_method != POST) { rewrite ^ /index.html last; }
proxy_pass http://localhost:3000;
}
}