Configuration de l'emplacement Nginx pour les sous-dossiers
Dans la configuration Nginx, des chemins de dossiers spécifiques peuvent être mappés à différents URI pour une organisation et un routage améliorés. Un scénario courant consiste à configurer l'accès aux sous-dossiers dans un répertoire.
Considérez une structure de chemin telle que /var/www/myside/ où deux sous-dossiers, /static et /manage, existent. Le but est d'accéder à ces sous-dossiers via les URI / (pour /static) et /manage (pour /manage) tout en assurant un bon routage des fichiers PHP.
Un exemple initial de configuration Nginx peut ressembler à ceci :
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location /manage { root $uri/manage/public; try_files $uri /index.php$is_args$args; } location / { root $uri/static/; index index.html; } location ~ \.php { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; } }
Cependant, cette configuration peut ne pas fonctionner correctement pour accéder à /manage. La solution est d'utiliser la directive alias au lieu de root lors de l'accès à un sous-dossier avec un URI différent.
Voici une configuration Nginx révisée :
server { ... location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } location ~ \.php$ { ... } } ... }
Avec cette modification, la configuration mappe / static vers / en utilisant root et /manage vers /manage en utilisant un alias. De plus, les directives try_files et if garantissent que les demandes de fichiers inexistants dans ces sous-dossiers sont correctement traitées.
En combinant les directives alias et root, ainsi qu'une utilisation appropriée des blocs d'emplacement, Nginx peut être configuré pour servir efficacement le contenu des sous-dossiers avec des URI spécifiques.
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!