Collez les règles de votre fichier .htaccess, puis adaptez et testez le résultat sur votre serveur. Toutes les directives Apache ne sont pas converties.
Fonctionne localement dans votre navigateurLe convertisseur lit les règles de réécriture d’un fichier .htaccess et écrit les lignes Nginx correspondantes : RewriteRule devient rewrite et RewriteCond les blocs if qui l’encadrent. Tout se passe dans la page, les règles ne sont jamais envoyées.
Seules les règles de réécriture sont traduites. Le reste — RewriteBase, Redirect, Header, Options et autres directives Apache — figure dans un commentaire à la fin du résultat au lieu d’être recopié, pour que vous voyiez ce qui reste à décider.
Les lignes RewriteRule deviennent des instructions rewrite avec le même motif : [L] devient last, [R=301] permanent, [R=302] et [R] redirect, et [NC] s’écrit (?i) dans le motif pour conserver une comparaison insensible à la casse. [E=NAME:value] devient set $NAME value;, la forme acceptée par nginx.
Les lignes RewriteCond deviennent des blocs if qui affectent une variable $rule_N, et la règle protégée s’exécute dans if ($rule_N = "..."). Les tests de fichiers suivent : -f devient !-f s’il est nié, -d reste -d et -s devient -e.
Les directives Apache sans équivalent Nginx ne sont pas supprimées en silence : le résultat se termine par un commentaire qui les énumère, avec les options comme S= ou T= qui n’ont pas de correspondance dans Nginx.
Les règles [F], [G] et [P] ne sont pas converties non plus : un 403 sans condition ou une réécriture avec proxy se comporterait autrement dans nginx. L’outil affiche la règle et la construction à ajouter à la main. Une condition qu’il ne peut pas lire est marquée #ignored, et la règle qu’elle protégeait reste inactive jusqu’à ce que vous la réécriviez.
L’entrée est limitée à 6 000 caractères : découpez les gros fichiers .htaccess. Le résultat est un point de départ, pas une configuration terminée : les guillemets, les blocs location et le contexte serveur dépendent de votre installation.
Placez le bloc généré dans un server, lancez nginx -t et testez une redirection dans le navigateur avant de basculer. La conversion s’exécute localement en JavaScript : les règles ne quittent pas la page et l’outil fonctionne hors ligne.