Nginx: Servir archivos estáticos fuera de un directorio dado - un nivel demasiado profundo


13

Soy bastante nuevo en las configuraciones de nginx. Tengo algunas dificultades con un problema bastante básico. Me gustaría alojar algunos archivos estáticos en / doc (index.html, algunas imágenes, etc.). Los archivos se encuentran en un directorio llamado / sites / mysite / proj / doc /.

El problema es que con la configuración de nginx a continuación, nginx intenta buscar un directorio llamado "/ sites / mysite / proj / doc / doc". Quizás esto se pueda solucionar configurando la raíz en / sites / mysite / proj /, pero no quiero exponer potencialmente otros activos (no estáticos) en el directorio proj /. Y por varias razones, realmente no puedo mover el directorio doc / desde donde está.

Creo que hay una manera de usar una regla de reescritura para resolver esta situación, pero realmente no entiendo todas las partes, por lo que tengo dificultades para formular la regla.

rewrite ^/doc/(.*)$ /$1 permanent;

También he incluido un ejemplo funcional de alojamiento de archivos fuera del directorio / sites / mysite / htdocs / static /.

> vim locations.conf

location /static {
    root   /sites/mysite/htdocs/;
    access_log   off;
    autoindex  on;
}

location /doc {
    root   /sites/mysite/proj/doc/;
    access_log   on;
    autoindex  on;
}


2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"

¿Alguien tiene alguna idea de cómo podría servir este contenido estático?

Respuestas:


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.