Migrer WordPress de Apache à Nginx implique une gestion différente de l'URL rewriting. Fini les fichiers .htaccess ! Nginx utilise sa propre configuration pour réécrire les adresses web, une étape clé pour le bon fonctionnement des permaliens WordPress.
Sans la bonne configuration, vos permaliens WordPress ne fonctionneront pas, entraînant des erreurs 404. Nous allons voir le snippet Nginx simple mais crucial pour assurer que toutes les requêtes vers vos pages et articles soient correctement traitées.
Nginx vs Apache : La Différence de Rewriting
Apache utilise le module mod_rewrite
via les fichiers .htaccess
pour le rewriting, agissant au niveau des dossiers. Nginx, avec son architecture différente, gère cela dans ses fichiers de configuration principaux ou les configurations spécifiques des sites (virtual hosts).
Cette approche centralisée dans Nginx est souvent plus performante car elle évite la lecture de fichiers .htaccess
à chaque requête. Cependant, elle nécessite de traduire les règles Apache en syntaxe Nginx, ce qui peut être déroutant au début.
Le Snippet Nginx Essentiel pour WordPress
Pour que les permaliens WordPress fonctionnent sous Nginx, vous devez ajouter un bloc location
clé dans la configuration de votre site. Ce bloc explique à Nginx comment gérer les requêtes qui ne pointent pas directement vers un fichier ou dossier existant sur le serveur.
location / {
if (!-e $request_filename) {
rewrite . /index.php last;
}
}
Voici le snippet Nginx à ajouter dans le bloc server
de votre configuration. La directive try_files
est clé : elle demande à Nginx de chercher l'URI comme fichier, puis comme répertoire. Si rien n'est trouvé, la requête est passée à index.php
.
Le =404
à la fin de try_files
(souvent utilisé dans des configurations plus complexes) assure qu'une requête qui ne peut être gérée ni par un fichier, ni par un dossier, ni par index.php
(ce qui est rare pour WordPress) retournera une erreur 404 standard, au lieu d'une erreur Nginx interne.
Conclusion
Maîtriser le rewriting Nginx est vital pour migrer WordPress. Ce snippet est la base pour que vos permaliens fonctionnent correctement. Avez-vous déjà rencontré des défis spécifiques lors de la migration ou d'autres configurations Nginx pour WordPress ? Partagez vos expériences en commentaire !