Je cherche à servir l'URL racine d'un sous-domaine et le répertoire d'un sous-domaine à deux dossiers différents sur mon serveur. Voici la configuration simple que j'ai et ne fonctionne pas ...
server {
index index.html index.htm;
server_name test.example.com;
location / {
root /web/test.example.com/www;
}
location /static {
root /web/test.example.com/static;
}
}
Dans cet exemple, aller test.example.com/
apporterait le fichier d'index dans/web/test.example.com/www
et va test.example.com/static
apporter le fichier d'index/web/test.example.com/static
alias
. Veuillez lire les documents officiels , pas le wiki de la communauté rempli par les utilisateurs. Quote: Lorsque l'emplacement correspond à la dernière partie de la valeur de la directive, il est préférable d'utiliser la directive racine .Le système de directive de localisation est
Comme vous voulez transmettre toutes les demandes qui commencent
/static
et vos données présentes dans/var/www/static
Donc, une méthode simple est séparée du dernier dossier du chemin complet, cela signifie
Chemin complet :
/var/www/static
Dernier chemin:
/static
et premier chemin:/var/www
Permet donc de voir ce que vous avez fait et quelles sont vos solutions
Ton erreur :
Vos solutions:
la source
http://nginx.org/r/root
la source
root /web/test.example.com;
au lieu deroot /web/test.example.com/static;
. nginx mappe le chemin spécifié par emplacement à l'arborescence du répertoire et puisque le chemin et le répertoire source partagent le même nom, il fonctionne avecroot
.