Maison > développement back-end > tutoriel php > Comment puis-je configurer Nginx pour servir des sous-dossiers imbriqués à partir de différents URI ?

Comment puis-je configurer Nginx pour servir des sous-dossiers imbriqués à partir de différents URI ?

Barbara Streisand
Libérer: 2024-11-29 02:28:13
original
284 Les gens l'ont consulté

How Can I Configure Nginx to Serve Nested Subfolders from Different URIs?

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 {
    ...
  }
}
Copier après la connexion

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;
  ...
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal