Uno, try_files
Sintaxis: | try_files try_files |
---|---|
Por defecto: | — |
Contexto: | server , location |
De acuerdo con los recursos solicitados, verifique si los recursos existen en orden y devuelva el primer recurso encontrado. Si no se encuentra el recurso solicitado, el último parámetro se utilizará para la redirección interna.
Ejemplo 1: www.example.com/a/b (suponiendo que el recurso no existe)
ubicación /a/ {
try_files $uri /a/default.gif;
}
Primero buscará /a/b, pero si no lo encuentra, nginx devolverá default.gif y /a/b todavía se muestra en la barra de direcciones del navegador.
Ejemplo 2:
El efecto es volver a la página de inicio al acceder a una ruta inexistente, pero la barra de direcciones del navegador no cambiará, por ejemplo, al visitar: www.ab/yyy, si no existe, automáticamente regresará a la página de inicio. página de inicio.
ubicación / { raíz /usr/share/nginx/html/dev/web; índice index.html index.htm; add_header Control de caché sin caché; try_files $uri $uri/ /index.html; }
2. Relacionado con la compresión de caché
Hay varios tipos de JavaScript aquí, y muchos tipos de contenido de texto/javascript están desactualizados por razones de compatibilidad . Se utilizó en los primeros días de HTML.
application/x-javascript es un tipo de contenido experimental (de ahí el x-). No debe usarse en aplicaciones.
application/javascript es el tipo de contenido correcto.
$request_filename es una variable nginx incorporada,
~* regular que no distingue entre mayúsculas y minúsculas
server {
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml;
gzip_vary on;
listen 80;
server_name a.b.com;
location / {
if ($request_filename ~* .*.(?:index.html)$) {
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
root /usr/a/b/c;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}