Optimisation de PHP avec des URLs propres sur Nginx : Un guide pour les CMS open source

Apprenez à configurer Nginx pour les CMS basés sur PHP comme Drupal, WordPress et Joomla afin d'obtenir des URLs propres et optimisées pour le référencement sans compromettre les performances.

En tant qu’enthousiaste de l’open source et développeur indépendant, j’ai souvent été confronté au défi de configurer des serveurs web pour des performances et un référencement optimaux. Aujourd’hui, je suis ravi de partager une puissante configuration Nginx qui résout élégamment le dilemme des URLs propres pour les systèmes de gestion de contenu (CMS) basés sur PHP comme Drupal, WordPress et Joomla.

Pourquoi les URLs propres sont importantes

Avant de plonger dans la configuration, discutons brièvement de l’importance des URLs propres :

  1. Amélioration du référencement : Les moteurs de recherche préfèrent les URLs lisibles par l’homme.
  2. Amélioration de l’expérience utilisateur : Les URLs propres sont plus faciles à mémoriser et à partager.
  3. Professionnalisme : Elles donnent à votre site une apparence plus soignée et professionnelle.

La solution de configuration Nginx

Voici le bloc serveur Nginx qui atteint notre objectif :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
server {
    listen 80;
    server_name www.domain.com;
    index index.html index.htm index.php;
    root /path/to/domain/files;

    location / {
        error_page 404 = //e/index.php?q=$uri;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /path/to/domain/files$fastcgi_script_name;
    }

    access_log /usr/local/nginx/logs/domain.access_log;
    error_log /usr/local/nginx/logs/domain.error_log;
}

Décomposition de la configuration

Analysons les composants clés :

  1. Bloc Serveur : Définit les paramètres de base du serveur, y compris le domaine et le répertoire racine.

  2. Bloc de localisation pour les URLs propres :

    1
    2
    3
    
    location / {
        error_page 404 = //e/index.php?q=$uri;
    }
    

    Cette astuce intelligente redirige les erreurs 404 vers l’index.php de votre CMS, lui permettant de gérer les URLs propres.

  3. Traitement PHP :

    1
    2
    3
    4
    5
    6
    
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /path/to/domain/files$fastcgi_script_name;
    }
    

    Configure FastCGI pour traiter efficacement les fichiers PHP.

  4. Journalisation : Configure les journaux d’accès et d’erreurs pour la surveillance et le dépannage.

Conseils de mise en œuvre

  1. Remplacez www.domain.com par votre domaine réel.
  2. Ajustez /path/to/domain/files pour correspondre au répertoire racine de votre site.
  3. Assurez-vous que votre PHP-FPM est configuré pour écouter sur 127.0.0.1:9000.

Conclusion

Cette configuration offre une approche rationalisée pour implémenter des URLs propres pour les CMS basés sur PHP sur Nginx. C’est un témoignage de la puissance et de la flexibilité des solutions open source, permettant aux développeurs de créer des sites web robustes et optimisés pour le référencement sans configurations complexes.

Lors de la mise en œuvre de cette solution, n’oubliez pas que le monde du développement web est en constante évolution. Restez curieux, continuez à expérimenter et n’hésitez pas à partager vos propres innovations avec la communauté. Bon codage !

Writing about the internet