Ajout de commentaires à .htaccess

Pourquoi ça marche:

RewriteRule (.+)/$ $1 

et ce travail:

 RewriteRule (.+)/$ $1 [L] #bla bla bla 

mais cela ne fonctionne pas:

 RewriteRule (.+)/$ $1 #bla bla bla 

Les commentaires dans .htaccess doivent être sur leur propre ligne et ne pas être ajoutés à d’autres déclarations.

La dernière règle ne fonctionne pas car les commentaires ne sont pas vraiment des commentaires. Les commentaires dans htaccess doivent commencer par un # (doit être au début d’une ligne) et non arbitrairement nulle part.

Dans le second cas, le #bla bla bla est interprété comme un 4ème paramètre de la directive RewriteRule , qui est simplement ignoré.

Dans le dernier cas, le #bla bla bla est interprété comme un 3ème paramètre, ce qui dans le cas de RewriteRule est l’endroit où les drapeaux vont, et #bla bla bla n’est pas un indicateur que mod_rewrite comprend donc vous obtenez une erreur.

Le format de fichier de configuration d’Apache (dont .htaccess fichiers .htaccess ne sont qu’un exemple) ne prend pas en charge techniquement les commentaires en ligne, mais uniquement les commentaires sur une ligne complète (c’est-à-dire une ligne commençant par un # ).

Les lignes commençant par le caractère dièse “#” sont considérées comme des commentaires et sont ignorées. Les commentaires ne peuvent pas être inclus sur une ligne après une directive de configuration. – Manuel officiel Apache 2.4

Confusément cependant, chaque module parsing l’parsing de ses directives comme il lui plait – alors mod_rewrite décide quoi faire avec n’importe quelle ligne commençant par RewriteRule

Je ne sais pas avec certitude, mais je pense que mod_rewrite ignore tout après les [flags] , et que le # n’est pas du tout nécessaire.

Le mieux est de toujours garder les commentaires sur leur propre ligne, car cela fonctionnera quelle que soit la directive que vous commentez.