Maison > développement back-end > tutoriel php > Comment puis-je configurer Nginx pour servir les sous-dossiers différemment ?

Comment puis-je configurer Nginx pour servir les sous-dossiers différemment ?

DDD
Libérer: 2024-11-22 10:21:10
original
243 Les gens l'ont consulté

How Can I Configure Nginx to Serve Subfolders Differently?

Configuration de l'emplacement Nginx pour les sous-dossiers

Dans la configuration Nginx, la gestion de l'accès aux sous-répertoires est cruciale pour organiser efficacement le contenu du site Web. Prenons un scénario dans lequel vous disposez de deux sous-dossiers, "/static" et "/manage", dans un répertoire racine Web.

Problème :

Vous devez configurer Nginx pour fournir l'accès à ces sous-dossiers comme suit :

  • Dossier "/static" accessible à l'URI racine (par exemple, http://example.org/)
  • Dossier "/manage" accessible dans "/manage" (par exemple, http://example.org/manage)

Solution :

Pour résoudre ce problème, vous devez utiliser la directive alias pour le "/manage" subfolder :

server {
    # ... (unchanged configuration)
    
    location ^~ /manage {
        alias /var/www/mysite/manage/public;
        index index.php;
        
        if (!-e $request_filename) { rewrite ^ /manage/index.php last; }
        
        location ~ \.php$ {
            if (!-f $request_filename) { return 404; }
            fastcgi_pass 127.0.0.1:9000;
            
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
    }
}
Copier après la connexion

Solution alternative utilisant Root :

Dans certains cas, vous pouvez envisager d'utiliser la directive root au lieu de l'alias. Cependant, il nécessite un bloc d'emplacement imbriqué et est généralement moins efficace pour la gestion des sous-dossiers.

Remarques supplémentaires :

  • Le modificateur ^~ garantit que l'emplacement du préfixe a priorité sur les emplacements des expressions régulières.
  • Les directives try_files et alias ne peuvent pas être utilisées ensemble en raison d'un bug.
  • La directive if doit être manipulée avec prudence pour éviter des comportements inattendus.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal