2013-05-13 4 views
3

Ceci est mon fichier de configuration nginx:Emplacement et chemin document nginx

server { 
    listen  80; 
    server_name localhost; 

    location/{ 
     root d:/www; 
     index index.html index.htm; 
    } 
    location /js/api/ { 
     root D:/workspace/javascript/maplib/; 
     autoindex on; 
    } 

}

Et le répertoire du document est comme ceci:

D:/workspace/javascript/maplib 
    -- v1.0 
     --main.js 
    -- v1.1 

Maintenant, je veux accéder à le v1.0/main.js par http://localhost/js/api/v1.0/main.js.

Et il renvoie une erreur 404.

Il semblerait que ngnix tentera d'obtenir le fichier D:/workspace/javascript/maplib/js/api/v1.0/main.js qui n'existe pas.

Il semble que le chemin de la chaîne dans le locaation (dans l'URL) doit exister dans le système de fichiers.

Comment réparer pour répondre à mes exigences?

BTW, il n'y a pas seulement le js mais aussi d'autres types de fichiers comme .gif,.png,.html à l'intérieur du D:/workspace/javascript/maplib/.

Répondre

0

utilisation rewrite intérieur location /js/api/ pour cela, comme:

rewrite ^/js/api(.*)$ $1; 
0

Vous pouvez utiliser la racine avec try_files, ajoutez simplement la ligne de try_files

location /js/api/ { 
    root D:/workspace/javascript/maplib/; 
    autoindex on; 
    try_files $uri $uri/ =404; 
} 
Questions connexes