Outil gratuit
Expliquez-moi ce .htaccess
RewriteCond, [L,R=301,NC], FilesMatch… Le .htaccess règle une bonne partie du comportement d'un site, et presque personne ne sait le lire. Collez le vôtre : nous l'expliquons ligne par ligne, et nous signalons ce qui ressemble à un piratage.
À quoi sert un .htaccess ?
Sur les serveurs Apache et LiteSpeed, ce petit fichier texte fixe les règles de son dossier et de tous ses sous-dossiers : redirections, HTTPS, cache, accès, pages d'erreur.
WordPress y écrit son propre bloc, et bien des extensions (cache, sécurité, SSL) y ajoutent le leur, encadré par des commentaires # BEGIN et # END. Une seule faute de frappe et tout le site affiche une erreur 500 : gardez une copie avant toute modification. Sur un serveur nginx, le fichier est ignoré.
Lire une règle de réécriture
RewriteCond
Les conditions
« Si telle variable du serveur correspond à tel motif ». Plusieurs conditions de suite doivent toutes être vraies, sauf si elles finissent par [OR].
Elles ne valent que pour la RewriteRule qui les suit.
RewriteRule
La règle
Un motif pour l'adresse demandée, une destination, puis des drapeaux entre crochets.
$1, $2 reprennent les morceaux capturés entre parenthèses ; %1, ceux de la dernière condition.
[L,R=301,NC]
Les drapeaux
L on s'arrête là, R=301 redirection permanente, NC sans tenir compte des majuscules, QSA on garde les paramètres.
Chaque drapeau est expliqué dans le résultat.
À quoi ressemble un .htaccess piraté
Les pirates adorent ce fichier : quelques lignes suffisent pour détourner le trafic ou garder une porte ouverte, et personne ne le lit. Les motifs que nous signalons :
- Les redirections sélectivesSeuls les visiteurs qui arrivent de Google, ou sur téléphone, sont envoyés vers un autre site. Le propriétaire, qui tape directement l'adresse, ne voit rien.
- Du PHP là où il n'a rien à faire
AddHandlerouSetHandlerqui font exécuter des fichiers .jpg ou .ico comme du PHP,auto_prepend_filequi lance un fichier inconnu avant chaque page. - La porte verrouilléeUn bloc
<FilesMatch ".(py|exe|php)$">qui interdit tous les fichiers PHP, suivi d'une liste de fichiers permis aux noms bizarres : seuls les scripts du pirate fonctionnent encore. - Les ajouts dans le bloc WordPressDes lignes glissées entre
# BEGIN WordPresset# END WordPress, là où personne ne regarde.
Si une ligne est signalée : ne vous contentez pas de l'effacer. Le pirate a en général laissé d'autres fichiers (un .htaccess piraté est souvent réécrit dans les minutes qui suivent). Changez tous les mots de passe (hébergement, FTP, WordPress, base de données), mettez tout à jour, et idéalement faites nettoyer le site. Notre outil Site signalé dangereux ? vous dit si Google s'en est aperçu.