Actualice el navegador después de que nginx implemente el proyecto front-end e informe un error 404

Problema: después de empaquetar e implementar el proyecto Vue en el servidor Nginx, se produce un problema 404 después de actualizar la página.

Motivo: después de cargar la aplicación de una sola página, el navegador maneja los cambios de enrutamiento y se solicitará el enlace actual al actualizar, pero Nginx no puede encontrar la página correspondiente.

Solución: agregue la siguiente configuración al archivo de configuración de Nginx nginx.conf: 

try_files $uri $uri/ /index.html;

# Explicación de la variable
try_files sintaxis fija
$uri se refiere al archivo de inicio (la ruta después de la dirección IP, si es 127.0.0.1/index/a.png, entonces se refiere a index/a.png)
$uri/ se refiere al archivo de inicio carpeta
/ index.html Inicie una solicitud a la dirección ip/index.html
 
try_files $uri $uri/ /index.html;
intente analizar los siguientes 2 archivos/carpetas (distinga automáticamente si la ruta detrás de la IP es un archivo o un carpeta), $uri /$uri/,
si se resuelve, devuelve el primero,
si no se resuelve, inicia una solicitud de salto a 127.0.0.1/index.html (la ruta debe ser real, de lo contrario se informará un error)


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8100;
        server_name  localhost;
        charset utf-8;
        location / {
            root   D:/deploy/web/http;
            index  index.html index.htm;
        }
    }   

     server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            root   D:/deploy/gn/http;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }  

}

Supongo que te gusta

Origin blog.csdn.net/weixin_39709134/article/details/128298268
Recomendado
Clasificación