Julien Breux sur Twitter

[Prestashop] Réécriture URL 1and1

Petite aide pour la réécriture d’URL chez 1and1 et Prestashop

Voici le contenu du fichier .htaccess que vous devriez avoir pour un Prestashop en pleine forme.

# Julien BREUX - htaccess 1and1 - V1
# URL rewriting module activation
RewriteEngine on
RewriteBase /
 
# FORCE WWW
RewriteCond %{HTTP_HOST} ^votre-site.com$
RewriteRule ^(.*) http://www.votre-site.com/  [QSA,L,R=301]
 
# URL rewriting rules
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$2$4 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$1$3 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
 
# Catch 404 errors
ErrorDocument 404 /404.php
 
# PHP5
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

17 Réponses à “[Prestashop] Réécriture URL 1and1”

  1. chauvin dit :

    Bonjour,
    J’ai pris connaissance de proposition de configuration du fichier htaccess sur l’hébergeur 1&1.
    Cette configuration paraît globalement fonctionner, la redirection s’effectue correctement sauf dans un cas :
    a) si vous avez sélectionner un produit « VOIR LE PRODUIT » et que décidez à ce moment de voir cette page dans une autre langue, vous tombez sur un lien corrompu, impossible de trouver la page du produit dans l’autre langue !!
    b) pour que ca marche, il faut revenir à l’accueil, changer la langue à cet endroit là et ensuite sélectionner le produit que vous voulez voir dans l’autre langue…

    Ensuite, pour les catégories, fabricants et autres, dommage, la terminaison « .html » n’est pas présente lors que l’accès aux pages.. ca fait un peu bizarre.

    Merci en tous cas de votre configuration car au moins la redirection fonctionne pour la très grande majorité des cas !

  2. tom dit :

    bonjour,
    j’ai utilisé votre fichier pour essayer la réécriture d’url sur mon site, ça fonctionne sauf pour les images.
    Plus aucunes images ne s’affichent.
    une idée ?

    Merci !!!!

  3. ecom dit :

    Bonjour,

    Moi aussi, j’ai suivi scrupuleusement le fichier ci dessus. Mais les images disparaissent toujours.
    Si vous avez une autre idée je suis preneur.
    Bonsoir.

  4. Guim's dit :

    Salutations julien,
    j’ai installé dernièrement une boutique prestashop et tout allais bien jusqu’a ce que je mette la reécriture d’URL :(

    mon site ne trouve plus les pages et pourtant j’ai c/C le code ci-dessus.

    Donc, c’est la zézèr
    Aurais tu une solution à mon PB (sachant que suis chez 1&1)

    je te remercie d’avance et bonne continuations pour tes travaux ;)

  5. Guim's dit :

    ah non excuse moi ceci fonctionne pour l’URL mais malheuresement les image font défauts Aïe !!

  6. Julien dit :

    Avez-vous une URL de test que je puisse constater le problème ?

  7. Guim's dit :

    Salut,
    a titre indicatif voila une URL d’un site test prestashop

    http://boutique.du-cigare.com

    Merci

  8. Guim's dit :

    Après mettre arraché les cheveux, voila:
    ne mettez pas la réécriture URL et allez dans le htaccess et coller moi CA:
    AddType x-mapp-php5 .php

    # URL rewriting module activation
    RewriteEngine on
    RewriteBase /

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

    # Catch 404 errors
    ErrorDocument 404 /404.php

    activez la réécriture et voila c’est bon pour le moral !!

    OUFF

  9. ecom dit :

    Merci Guim’s, tu es mon sauveur.Moi aussi je m’arrachais les cheveux depuis un mois voir mes posts précédents et enfin grâce à toi ca fonctionne.
    oufffffOuffff!!!

  10. ecom dit :

    Bonjour,
    J’ai juste un petit soucis que je n’avais pas vu hier.
    Seuls les images placées dans le module extratabs ne sont plus visibles lorsque je mets en place re rewrite.
    /modules/extratabs/humour.jpg

    Ou dois je intervenir pour que ca fonctionne.
    Merci pour ton aide.

  11. ecom dit :

    Bonjour,

    Finalement j’ai fait simple, j’ai mis les images dans /img. Et ca fonctionne.

  12. exta13 dit :

    Bonjour,

    Tout d’abord merci pour ce htaccess grâce auquel mon rewriting d’url marche ^^

    Je suis novice en la matière et je cherche à écrire l’url des pages articles de la manière suivante :
    http://www.maboutique.com/ma-catégorie/mon-produit

    ou bien :
    http://www.maboutique.com/mon-produit/ma-catégorie

    j’ai cherché un peu partout sans trouver la solution…

    En espérant que vous pourrez m’aider.
    Merci par avance ^^

  13. osiris dit :

    hello all

    merci Guim’s

    ça me rendais dingue cette histoire d’url rewriting

    ça marche bien aussi sur OVH

  14. SARLOTON dit :

    Bonjour

    Dans prestashop 1.3 Alpha, tout fonctionne à merveille sauf pour l’envoie de mail test
    je suis herbergé en serveur linux mutualisé chez 1and1.fr et mes fichiers sont installés dans un repertoire « prestashop » à la racine de mon site
    j’ai un probleme avec l’envoie de mail test (çà tourne indéfiniment!) mais pas de message test reçu
    j’ai essayé avec la fonction mail() de PHP ou encore avec le serveur smtp mais rien n’y fait
    paramétres smtp :
    auth.smtp.1and1.fr
    mon adresse mail
    mon mot de passe messagerie
    cryptage : aucun
    port :25

    installation éffectuée le 25 janvier 2010
    mon fichier htaccess est le suivant (installé à la racine de mon site et dans mon repertoire « prestashop » :

    AddType x-mapp-php5 .php

    # URL rewriting module activation
    RewriteEngine on

    # URL rewriting rules
    RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$2$4 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$1$3 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ category.php?id_category=$1 [QSA,L,E]
    RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ cms.php?id_cms=$1 [QSA,L,E]
    RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ supplier.php?id_supplier=$1$3 [QSA,L,E]
    RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]

    # Catch 404 errors
    ErrorDocument 404 /404.php

    pouvez-vous m’éclairer SVP
    cordialement Sarloton

  15. SARLOTON dit :

    bonjour,
    autant pour moi çà fontionne maintenant, en fait mes courriers étaient mis en SPAM dans le Webmail de 1and1, j’ai corrigé

  16. SARLOTON dit :

    bonjour,

    je voulais savoir si ce fichier Htaccess était correct pour une utilisation avec la version Prestahop 1.3.1 Alpha chez 1and1
    Faut il retirer ou ajouter autre chose ?

    Fichier Htaccess

    AddType x-mapp-php5 .php

    # URL rewriting module activation
    RewriteEngine on

    # URL rewriting rules
    RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$2$4 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$1$3 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ category.php?id_category=$1 [QSA,L,E]
    RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ cms.php?id_cms=$1 [QSA,L,E]
    RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ supplier.php?id_supplier=$1$3 [QSA,L,E]
    RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]

    merci d’avance

  17. kronos dit :

    Bonjour merci pour ce tutos, cependant j ai un petit soucis, dans mes url prestashop ne mets pas le nom de mes categories

    par exemple: je voudrais que pour que ce soit http://s319099871.onlinehome.fr/maquillage/blush et non http://s319099871.onlinehome.fr/10-blush
    et enlver le numero de l ID (10) comme ecrit dans l url plus haut.

    Merci d avance

Laisser une réponse