Jump to content

PS 1.5.4 : Problème d'url rewriting et d'images sur le front


Recommended Posts

Salut à tous,

 

J'ai un soucis que je n'arrive pas à régler :(

J'ai une boutique en Prestashop 1.5.4 et depuis quelques jours les images ne s'affichent plus. Tout fonctionnait correctement et là d'un coup... plus rien !?

 

J'ai donc fais quelques recherches et vérifications sans succés. J'ai vu pas mal de topic reportant le même genre de problème (image absente du front) mais sans jamais trouver de solution.

 

J'ai donc fais les actions suivantes :

  • Re-générer les miniatures
  • Recréer le fichier .htaccess via Prestashop
  • Tester plusieurs configurations dans SEO & URL
  • Tester l'URL rewriting sur mon serveur

Alors, je constate que l'URL d'une de mes images est du type :

- {URL PRESTASHOP}/{ID_IMAGE}-{NOM MINIATURE}/{LIBELLE PRODUIT}.jpg

- Exemple : http://URL/31-home_liquid/papier-peint-preencolle-personnalisable.jpg

 

Ce qui devrait être pris en charge selon moi par la règle suivante :

  • RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
  • Ce qui donnerai pour l'exemple :
    • $1 = 3
    • $2 = 1
    • $3 = -home_liquid
    • $4 = papier-peint-preencolle-personnalisable
    • URL = /img/p/3/1/31-home_liquidpapier-peint-preencolle-personnalisable.jpg

Or voici ce que j'ai en réalité :

  • URL de l'image (FTP) : /img/p/3/1/31-home_liquid.jpg
  • URL appelée (log Apache) : /img/c/31-home_liquid.jpg

Il semblerait donc qu'il y ait un soucis avec l'URL rewriting sur mon site (ou pas !?). Je tiens à préciser que je suis développeur mais que j'ai toujours eu du mal avec les regexp et l'url rewriting :unsure:

Si quelqu'un peut m'aider, ce serait sympa :)

 

Cordialement.

Link to comment
Share on other sites

Bonjour

  • URL = /img/p/3/1/31-home_liquidpapier-peint-preencolle-personnalisable.jpg

Or voici ce que j'ai en réalité :

  • URL de l'image (FTP) : /img/p/3/1/31-home_liquid.jpg
  • URL appelée (log Apache) : /img/c/31-home_liquid.jp

/img/p/3/1/31-home_liquid.jpg ça c'est normal si vous utilisez le nouveau système

 

/img/p/3/1/31-home_liquidpapier-peint-preencolle-personnalisable.jpg << ça c'est une erreur

 

je vois pas ce que le nom du fichier viens faire dans le nom de l'image.

Link to comment
Share on other sites

Bonjour Oron,

 

Attention, je n'ai pas le nom du produit dans le nom du fichier !

C'est une erreur de ma part mais c'est en fait mon interprétation de la réécriture d'URL ^_^

 

L'adresse appelée par le template pour afficher l'image est :

URL.EXT/31-home_liquid/papier-peint-preencolle-personnalisable.jpg

 

Merci par avance

Link to comment
Share on other sites

Bonsoir,

 

En fait l'hébergeur a du intervenir sur le serveur pour corriger le problème.

 

Désolé pour la fausse alerte.

 

Bonjour

 

Et c'était quoi le problème il l'as expliquer ce serait intéressant de savoir merci.

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 4 weeks later...

Bonjour,

J'ai trouvé une solution en modifiant le .htaccess.

Il faut remplacer www.domaine.com par ton nom de domaine

et changer ensuite les droits d'accès à ce fichier à 444 sinon prestashop va te le modifier.

# Inserted By Customer Control Panel
SetENV PHPRC /home/mysitec/public_html

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domaine.com$
RewriteRule (.*) http://www.domaine.com/$1 [R=301,L]

# Images
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^www.domaine.com$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>


#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again 
Link to comment
Share on other sites

  • 1 year later...

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...