Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

htaccess + notepad++ = grosse galère

Voici comment perdre 2h avec un htaccess qui se comporte très bizarrement.

Je créé des sites régulièrement (c’est mon boulot :) ) et j’utilise donc souvent les fichiers .htaccess pour diverses raisons (protection de répertoire, url rewriting, page d’erreur 404, etc..).

Aujourd’hui je devais mettre en place un petit rewriting classique de cette forme:



#les produits
RewriteRule produit/(.|/)* /catalogue/fiche.php [L]
#les categories
RewriteRule categorie/(.|/)* /catalogue/index.php [L]


Je commence donc par mes catégories je fait des tests tout fonctionne parfaitement. Je continu ensuite avec mes produits et là… une erreur 404. Mon premier réflexe a été de vérifier la syntaxe de ma ligne pour rewrité les produits. A priori aucun problème surtout qu’elle est très similaire à celle des catégories. Je devais donc avoir un problème avec mon fichier “fiche.php” le chemin ne devait pas être le bon. J’ai donc vérifié et là non plus aucun problème.

Je vous passe les dizaines et dizaines de test que j’ai pu faire ensuite pour déterminer la cause du problème. Au bout de deux heures toujours aucune piste.

Par un coup de chance j’ai fait un clic droit malencontreux sur mon fichier htaccess dans filezilla et j’ai constaté qu’il était possible d’éditer directement le fichier (via un système de fichier temporaire que je vous laisserai découvrir) et là en cliquant sur éditer, mon fichier htaccess c’est ouvert dans le bloc note alors que depuis le début je l’ouvrais dans notepad++.

La suite fût plutôt rapide car je me suis rendu compte tout de suite que “certains” (et non pas tous) de mes sauts de ligne n’était pas prit en compte. Donc au lieu d’avoir le code cité plus haut je me retrouvais avec ceci:



#les produits RewriteRule produit/(.|/)* /catalogue/fiche.php [L]
#les categories
RewriteRule categorie/(.|/)* /catalogue/index.php [L]


Ma ligne de code pour les catégories était donc belle et bien prise en compte tandis que celle des produits était considérée comme un commentaire et donc ignorée.
Je n’ai pas trouvé d’explication à ce phénomène. Toujours est-il que l’on ne m’y reprendra plus à modifier mon htaccess dans notepad++.

J’espère que la lecture de cet article vous aura permis de ne pas perdre 2 heures comme moi.

Poster un Commentaire

6 Commentaires sur "htaccess + notepad++ = grosse galère"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Marie
Invité

C’est exactement le genre de truc que j’adore trouver dans les blogs, ce genre d’absurdité qui nous fait perdre des heures précieuses. Là au moins, même si on ne comprend toujours pas pourquoi ça fait ça, on sait comment faire pour le contourner. Bonne nuit!

Olivier
Invité

En effet c’est vraiment pas marrant comme truc…
Moi j’utilise un éditeur tout simple mais très efficace : EditPlus

Nico
Invité
Nico

Notepad++ permet d’afficher les symboles de fin de ligne (menu Affichage > Afficher les symboles de fin de ligne), ça peut servir dans ce genre de problème.

Il y a aussi des fonctions de conversion bien pratiques qui gèrent les fins de ligne appropriées, par exemple si le fichier est destiné à un serveur Linux (menu Format > Convertir en format UNIX).

Jean-Eudes
Invité
Jean-Eudes

Desole de deterrer ce topic:
Ce probleme est du au type d’encodage de ton fichier. La sequence d’octet representant une fin de ligne (et un retour a la ligne n’est pas la meme sous unix/linux et windows. C’est les fameux CRLF (Carrier return & line feed) (ou \n \r), qui sont les deux octets permettant le retour a la ligne sous windows). De maniere assez curieuse, le bloc note de windows gere mieu les fichier destiné a linux, que notepad++, mais il existe effectivement des plugins pour remedier a cela. (Je ne crois pas que la fonction existe nativement sur notpad++).

wpDiscuz