2011-01-12 25 views

Respuesta

5
location ^~ /test/ { 
    internal; 
} 
+8

[ 'internal' (de la' HttpCore' módulo)] (http://wiki.nginx.org/HttpCoreModule#internal) marca la ubicación como interno al servidor. Devolverá 404 para solicitudes externas, pero aún puede ser el objetivo de redirecciones internas, reescrituras, páginas de error, etc. –

70
location /test/ { 
    return 404; 
} 
+4

['return' es parte del' HttpRewriteModule'] (http://wiki.nginx.org/HttpRewriteModule# regreso). Hace que su ubicación principal siempre devuelva el estado dado, que es exactamente lo que quiere el solicitante. –

16

Necesidad de añadir "^ ~" para dar a este partido una prioridad más alta que los bloques de localización de expresiones regulares.

location ^~ /test/ { 
    return 404; 
} 

De lo contrario, usted estará en una situación complicada. Por ejemplo, si usted tiene otro bloque de ubicación, como

location ~ \.php$ { 
    ... 
} 

y alguien envía una solicitud al http://your_domain.com/test/bad.php, ese bloque de expresiones regulares ubicación será recogido por nginx para atender la solicitud. Obviamente no es lo que quieres. ¡Asegúrate de poner "^ ~" en ese bloque de ubicación!

Referencia: http://wiki.nginx.org/HttpCoreModule#location

Cuestiones relacionadas