Nginx – Apache htaccess
Si vous vous êtes un minimum renseigné vous savez sans doute que les .htaccess bien pratiques et typiques de apache n’existent PAS sous NGinx.
Mais heu, pourquoi ?
- ça ralentirait de façon drastique ses performances, il devrait checker dans chaque folder si le fichier existe ou non, et si oui le parser.
- Déjà pour apache une des propositions qui revenaient quand on parlait de l’optimiser c’était de purement et simplement désactiver la gestion de ces .htaccess.
Tout ça pourquoi ? Bah c’est simple, il faudra transposer toutes ces règles définies dans les fichiers htaccess dans la définition du host sous NGinx.
Retrouver la totalité de ces fichiers pour un host donné
cd /path/vers/le/host/donné
find -iname .htaccess -ls -exec cat {} \; -exec echo \;
- find : recherche
- -iname .htaccess : la totalité des fichiers dont le nom est ‘.htaccess‘ sans distinction de casse (on aurait très bien pu prendre -name, c’est juste une habitude de ma part)
- -ls : on liste tous les fichiers trouvés (le format de sortie est une sorte de ls -l)
- -exec cat “{}” \; : on execute la commande cat sur chaque fichier trouvé (pour savoir de quoi il est constitué)
- -exec echo \; : juste un retour à la ligne dans le cas où le .htaccess en était dépourvu
Ça ressemble à
Quand vous avez transposé toutes les règles de votre domaine dans votre fichier de config de l’host sous nginx; vous pouvez supprimer les fichiers .htaccess pour éviter qu’ils trainent.
find -iname .htaccess -delete
Simple non ?
Et si je repasse sous Apache?
J’allais presque oublier : quand vous repassez sous apache, pour l’un ou l’autre domaine que vous auriez migré, n’oubliez pas que vous avez supprimé les .htaccess et que la config ne se trouve plus QUE dans le fichier de config de nginx, pas dans celui d’apache. Et vu les rewriting règles pour un blog wordpress, les articles pourraient faire de jolies erreurs 404… merci @ibxl ;-)
[…] cas où vous n’auriez pas supprimé les .htaccess dans l’article de comment migrer de apache à nginx il faut au moins les protéger d’une éventuelle lecture par un lecteur mal intentionné. […]