2013-10-30 5 views
5

Come si può associare un URI del modulo staging.example.com/siteA a un server virtuale situato a /var/www/siteA?Mappatura di un percorso di URL a un server in nginx

La restrizione principale è che non voglio creare un sottodominio per sitoA. Tutti gli esempi di nginx.conf che ho visto finora si basano sull'avere un sottodominio per fare il mapping.

Grazie

risposta

12

è possibile utilizzare il root directive all'interno di un blocco location, come questo:

server { 
    server_name staging.example.com; 
    root /some/other/location; 
    location /siteA/ { 
     root /var/www/; 
    } 
} 

Poi http://staging.example.com/foo.txt punti per /some/other/location/foo.txt, mentre http://staging.example.com/siteA/foo.txt punti a /var/www/siteA/foo.txt.

Si noti che la directory siteA è ancora presente sul file system. Se si desidera http://staging.example.com/siteA/foo.txt in modo che punti a /var/www/foo.txt, è necessario utilizzare il alias directive:

location /siteA/ { 
    alias /var/www; 
} 
Problemi correlati