Maison  >  Article  >  développement back-end  >  Comment configurer les blocs d'emplacement Nginx pour les sous-dossiers avec différents préfixes URI ?

Comment configurer les blocs d'emplacement Nginx pour les sous-dossiers avec différents préfixes URI ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-25 13:35:13546parcourir

How to Configure Nginx Location Blocks for Subfolders with Different URI Prefixes?

Configuration de l'emplacement Nginx pour les sous-dossiers

La configuration du serveur Nginx permet le routage des requêtes vers des emplacements spécifiques en fonction de modèles d'URI. Cette question explore comment configurer Nginx pour accéder aux sous-dossiers dans un chemin spécifié, en particulier /static et /manage, avec différents préfixes d'URI.

Pour configurer l'accès au dossier /static à l'URI racine (/), définissez un bloc d'emplacement avec la racine définie sur le sous-dossier /static :

location / {
    root /var/www/mysite/static;
    index index.html;
}

Pour le dossier /manage, qui contient un framework Slim PHP, le chemin racine doit être défini sur le sous-dossier public où réside le fichier index.php. Étant donné que le sous-dossier public est un emplacement, une directive alias est utilisée à la place de root :

location ^~ /manage {
    alias /var/www/mysite/manage/public;
    index index.php;
}

De plus, si des fichiers PHP sont présents dans les dossiers /static et /manage, deux emplacements ~ des blocs .php sont requis :

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}

et

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;
}

Le modificateur ^~ garantit que l'emplacement du préfixe pour /manage prend priorité sur l'emplacement de l'expression régulière ~ .php$.

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:
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