Jump to content

[Tuto] Fichier .htaccess


Recommended Posts

Présentation

Pour le bon fonctionnement de la boutique, et notamment de l'URL rewriting ou réécriture d'URL dans le cadre de l'utilisation des URLs simplifiées (voir Panneau d'administration >> Préférences, option URL simplifiée) il est nécessaire d'utiliser à la racine de la boutique un fichier nommé .htaccess.

Lors de l'installation de PrestaShop, ce fichier existe déjà sous le nom htaccess.txt.
Pour le rendre fonctionnel, il faut le renommer en .htaccess (exactement comme ça, avec un '.' devant, et en supprimant l'extension .txt).

Renommer le fichier

S'il n'est généralement pas difficile d'effectuer ce renommage sur un serveur distant via le logiciel FTP, l'opération peut s'avérer beaucoup plus compliquée en local, sous Windows. :sick:

En effet, Windows n'aime pas qu'on mette un '.' au début du nom d'un fichier. Donc il refuse de renommer en .htaccess.
Pour y parvenir, il faut ouvrir le fichier htaccess.txt, par exemple avec Wordpad. Eviter Notepad car problèmes possibles d'affichage avec les retours à la ligne, et surtout pas avec Word.
Une fois ouvert (dans Wordpad), faire Fichier > Enregistrer sous... et lui donner le nom .htaccess. Et voilà, Windows vient d'être grugé ! :coolsmile:

Donc à la racine de la boutique il doit maintenant y avoir un fichier .htaccess !

Quand Windows a décidé que vous n'auriez pas votre .htaccess !...

Vous avez bien renommé le fichier comme expliqué ci-dessus, vous voyez bien un fichier .htacces à la racine de votre boutique, pourtant il ne semble pas être pris en compte ?

Ceci est peut-être dû à une autre sournoiserie de Windows. :down:

Par défaut, Windows est configuré pour cacher les extensions des fichiers (.txt, .jpg, .doc...). Lorsqu'on "Enregistre sous..." dans Wordpad au format "Document texte" (type de fichier), il rajoute automatiquement l'extension .txt après le nom saisi !
Et comme Windows masque l'extension, c'est transparent...

Dans ce cas, ce que l'on voit comme étant un .htaccess est en fait un .htaccess.txt !

Pour renommer le fichier htaccess.txt en .htaccess sous Windows, faire comme suit :
* ouvrir le fichier htaccess.txt dans Wordpad;
* faire Fichier > Enregistrer sous...;
* dans le champ Nom du fichier, taper ".htaccess", avec les guillemets (ça permet de lui dire "enregistre exactement comme ça sans rien ajouter !");
* pour Type, choisir Document texte;
* cliquer sur Enregistrer.

Le fichier s'appelle maintenant réellement .htaccess. Normalement son icône n'est plus la même et quand on double-clic dessus, Windows demande avec quoi il doit l'ouvrir.
Donc dorénavant pour l'ouvrir dans Wordpad, faire dessus clic droit > Ouvrir avec... > Wordpad ou s'il n'est pas dans la liste Choisir le programe... pour chercher Wordpad...

Modification du fichier

Selon les hébergeurs, il peut être nécessaire d'apporter quelques modifications au contenu de ce fichier.
De nombreux posts traitent du sujet. Je vous laisse utiliser l'outil de recherche du forum pour trouver ce qui vous correspond le mieux.

Vous pouvez notamment consulter ce post :
http://www.prestashop.com/forums/viewthread/446

  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...
  • 2 months later...
Bonjour

je ne trouve absolument pas le fichier htaccess.txt dans mon dossier Prestashop
Où ce trouve-t-il ?

merci beaoup


je crois qu'il est dans le dossier Admin
( www/Ta-boutique / Ton-dossier-Admin-que-tu-as-renomme-en-installant-prestashop )

:ahhh:
Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...

Bonjour,
Je suis entrain de mettre à jour, et je ne trouve pas le fichier htaccess, du coup cela pose un fameux problème pour la mise en ligne afin de ne pas perdre mon référencement ...

Mon ancien fichier htaccess, n'afiche pas les photos ...
Merci de m'aider rapidement ,
Peut -être quelqu'un peut (il mettre le contenu de son dossier htacess de la version 1.3 afin que le crée manuelement ?
merci
Nicolas

Link to comment
Share on other sites

Bonjour à tous
J'ai réussi à fabriquer mon .htaccess pour un hébergement chez OVH, tout fonctionne à part deux exceptions que voici :

1- Pas de réécriture des URL des pages CMS :/

2- J'ai dû créer deux nouvelles pages catégories, pour respecter la maquette graphique (category-sous.php et category-sous-sous.php) et là non plus la réécriture des URL ne fonctionne pas, bien que le lien fonctionne re :/

Avez-vous une solution ou des infos pour m'aider ?

J'aimerais aussi comprendre comment fonctionne la réécriture des url histoire de savoir ce que je fais (=$2&isolang;=$1$4 [L,E] ou ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ etc...)

Voici le code de mon .htaccess :

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0

# URL rewriting module activation
RewriteEngine on
Rewritebase /




   deny from all



   # URL rewriting module activation
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^monsite.com/prestashop/$
   RewriteRule ^(.*)   http://www.monsite.com/prestashop/$1  [QSA,L,R=301]

   # URL rewriting rules
   RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ prestashop/img/p/$1-$2$3.jpg [L,E]
   RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ prestashop/img/c/$1$2.jpg [L,E]
   RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ prestashop/product.php?id_product=$3&isolang;=$1$5 [L,E]
   RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ prestashop/product.php?id_product=$2&isolang;=$1$4 [L,E]
   RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ prestashop/category.php?id_category=$2&isolang;=$1 [QSA,L,E]
   RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ prestashop/product.php?id_product=$2$4 [L,E]
   RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ prestashop/product.php?id_product=$1$3 [L,E]
   RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ prestashop/category.php?id_category=$1 [QSA,L,E]
   RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ prestashop/category-sous.php?id_category=$1 [QSA,L,E]
   RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ prestashop/category-sous-sous.php?id_category=$1 [QSA,L,E]
   RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ prestashop/cms.php?id_cms=$1 [QSA,L,E]
   RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ prestashop/supplier.php?id_supplier=$1$3 [QSA,L,E]
   RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ prestashop/manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
   RewriteRule ^lang-([a-z]{2})/(.*)$ prestashop/$2?isolang=$1 [QSA,L,E]

   # Catch 404 errors
   ErrorDocument 404 prestashop/404.php



Merci d'avance
Cordialement

Link to comment
Share on other sites

Heu ... 604 ?, de quel permission tu parles ? dans quel fichier ? (dans ton htaccess, le chiffre 604 n'apparait pas ... )
merci de me donner plus de détails...
Nicolas


Non c'est les permissions "Chmod" attribués aux fichiers

Plus détails ici

Connecte-toi via ton FTP (moi j'utilise Filezilla) à l'emplacement de ton fichier .htaccess
Fais un clic droit sur celui-ci
Vas dans "Permissions du fichier"
Dans Valeur numérique écris : 604
Clic sur OK et tu verra à droite de ton fichier (la colone permission) apparaître les lettres suivantes :
-rw----r--



Et voila ;)

Link to comment
Share on other sites

  • 3 months later...

Bonjour
ça fait plus de'une semaine que je bataille avec l'url rewriting mais sans succès.
ma boutique est installée sur un serveur IIS avec php 5, PS 1.2.5.
j'ai
1-configurer le module url canonique pour ma boutique www.monsite.com
2-activé le url rewriting
3-générer fichier .htaccess a travers BO

==>pas d'images des produits en plus des erreurs 404 (page not found)
je me sèche vraiment
un coup de main
merci

Link to comment
Share on other sites

  • 2 weeks later...

Pas de pb pour la génération du .htacess mais direct en 404 après activation de l'url rewriting.
Je suis en local sous ubuntu avec une 1.3.2.3 toute neuve et mod_rewrite est bien activé.
Il affiche bien la prise en compte de la modif mais curieusement il ne modifie pas le .htaccess (que j'ai laissé en 666 pour l'activation).

J'ai essayé en ajoutant les instructions de base à la mimine mais ça ne change rien.
RewriteEngine on
RewriteBase /

Ca me donne des écritures access.log comme :

 127.0.0.1 - - [13/Nov/2010:17:25:42 +0100] "GET /pshop/9-36-medium/ecouteurs-a-isolation-sonore-shure-se210.jpg HTTP/1.1" 404 510 "http://localhost/pshop/3-accessoires-ipod" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12" 



avec un error.log comme :

 [sat Nov 13 17:25:42 2010] [error] [client 127.0.0.1] File does not exist: /home/ws36/www/img, referer: http://localhost/pshop/3-accessoires-ipod 



Pas très logique ça.
Au passage, je vois des tartines de

 Warning:  Directive 'register_long_arrays' is deprecated in PHP 5.3 and greater in Unknown on line 0



Warning:  Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0



Logiques par rapport aux 404, mais moins par rapport au code .. bon ... ce sera pour la 1.4 ..

Link to comment
Share on other sites

Une solution :
J'ai désactivé l'url rewriting, supprimé et recréé le .htaccess, réactivé le rewriting, regénéré le .htaccess ... et c'est OK.
Je ne sais pas ce qui s'est passé lors de la première génération du fichier mais le problème est résolu.
Voilà, si ça peut servir à qqun ...

Link to comment
Share on other sites

  • 2 months later...

1) J'ai utilisé le script de success3 que je remercie au passage
2) J'ai mis le fichier en remote en CHMOD 666 (permission d'écriture sur le fichier .htaccess)
3) ça fonctionnait mais je n'avais pas les photos comme quelques uns ci-dessus
4) Je suis allé dans le générateur de .htaccess, j'ai regénéré le fichier et du coup ça fonctionne ;-)

encore merci à Success3 ;-)

Link to comment
Share on other sites

Bonjour à tous,
je me colle au sujet car j'ai un problème connexe :

depuis mes tentatives depuis une semaine de créer mon .htaccess j'ai une requete intempestive de mot de passe FTP qui s'affiche à l'ouverture de l'url racine de mon site :
www.replicart-wood.com

j'ai suivi les instructions de "groumph94" et j'ai effectivement réussi à réfénérer mon .htaccess et la réécriture des url est ON, mais mon problème persiste !

quelqu'un peut-il m'aider ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...