Activer / désactiver PHP sur Nginx pour CDN

J’ai un serveur avec Nginx installé.
J’ai également 2 domaines pointant vers ce serveur. (domain1.com et domain2.com). Le premier domaine (domain1.com) est le site Web avant. L’autre domaine (domain2.com) est le CDN pour les contenus statiques tels que: JS, CSS, images et fichiers de fonts.

Je configure les fichiers de configuration de domaines et tout fonctionne correctement. PHP utilise le serveur nginx.

Ma question est la suivante: Comment désactiver PHP sur le deuxième domaine (domain2.com), sauf si la requête a “? Param = quelquechose” dans la requête GET?!
Ce sera quelque chose comme:

// PHP is disabled if($_GET['param']){ // Enable PHP } 

ou devrais-je utiliser:

 location ~ /something { deny all } 

Et garder PHP en marche?!

Note: J’ai besoin de php pour traiter les parameters que je transmets pour générer des fichiers JS ou CSS.

PHP avec nginx est très différent de PHP avec Apache, car il n’y a pas de mod_php equiv pour nginx (AFAIK).

PHP est géré par un démon totalement séparé (php-fpm, ou en passant la requête à un serveur Apache, etc.). En conséquence, vous pouvez simplement ignorer php en laissant nginx gérer la requête sans la transmettre à php-fpm ou apache. Il y a de fortes chances que votre configuration nginx soit déjà configurée uniquement avec des fichiers .php de transfert au format php-fpm.

Maintenant, si vous essayez d’avoir des requêtes telles que /some-style.css?foo=bar traitées par php, alors je suggère simplement de séparer les ressources statiques des ressources dynamics.

Vous pouvez créer un troisième domaine ou simplement utiliser deux répertoires distincts.

 /static/foo.css 

contre

 /dynamic/bar.css?xyz=pdq 

Vous pourriez alors passer à php dans les blocs de localisation.

 location ~ /static { try_files $uri =404; } location ~ /dynamic { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 

Avec la configuration ci-dessus, les requêtes commençant par / static contourneront php indépendamment de l’extension de fichier (même .php) et les requêtes commençant par / dynamic seront transmises à php-fpm, quelle que soit l’extension de fichier (même .css)