Maison >développement back-end >tutoriel php >Comment puis-je configurer Nginx pour servir des sous-dossiers imbriqués à partir de différents URI ?
Configuration de l'emplacement Nginx pour les sous-dossiers imbriqués
Dans le contexte de la configuration Nginx, l'accès aux sous-dossiers avec des URI spécifiques peut être difficile. C'est là que les directives d'emplacement entrent en jeu.
Considérez le scénario suivant : vous disposez d'une structure de répertoires telle que /var/www/mysite/ contenant deux sous-dossiers, /static et /manage. Vous souhaitez accéder à /static via l'URI racine (par exemple, "http://example.org/") et /manage via "/manage" (par exemple, "http://example.org/manage").
Décomposons la configuration Nginx fournie :
server { listen 80; server_name example.org; ... # Static folder location location / { root $uri/static/; index index.html; } # Manage folder location (attempt 1) location /manage { root $uri/manage/public; try_files $uri /index.php$is_args$args; } # PHP processing location location ~ \.php { ... } }
Bien que l'emplacement / fonctionne correctement, l'emplacement /manage échoue. C'est parce que la directive racine est incorrecte. Pour utiliser un sous-dossier dans un alias, l'alias doit être utilisé à la place de root.
L'emplacement mis à jour pour /manage doit être le suivant :
location ^~ /manage { alias /var/www/mysite/manage/public; ... }
Avec ces modifications, Nginx servira correctement les fichiers statiques de /static à l'URI racine et le contenu dynamique de /manage à "/manage".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!