Jump to content

[Résolu] Probleme visualisation images avec option URL simplifiée activée


Recommended Posts

Bonjour à tous,

J'ai installé et développé un shop sous prestashop 1.3.1.1 sur une release 2 chez OVH.

Lorsque j'active les URL simplifiées de prestashop et que je génère le HTACCESS : toutes les URL de l'interface sont bien simplifiées (donc à priori : "RewriteEngine on" fonctionne (j'ai modifié mon httpd.conf pour qu'il accepte l'URL rewriting)). Par contre toutes mes images disparaissent donc a priori les lignes de rewriting des URL pour les images ne marchent pas sous la Release 2 chez OVH.

Les rewriteRule sont :
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]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]

et mes chemins d'images avant l'url rewriting :

/img/p/3-356-Liste produit.jpg

Après l'activation des règles :

/3-356-Liste produit/basket-pronateur-reebok.jpg

Une Idée svp ?

Link to comment
Share on other sites

  • 2 weeks later...

Aprés avoir cherché la réponse à ce même probleme pendant un bon moment, voici le code à insérer dans ton .htaccess
Ca fonctionne parfaitement ! (Chmod par défaut/604)

SetEnv REGISTER_GLOBALS 0
SetEnv PHP_VER 5

# URL rewriting module activation
RewriteEngine on

# 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]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.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

Link to comment
Share on other sites

Tu t'es pas cassé Tiltagain c'est le HTACCESS généré par Prestashop!

D'ailleurs si tu utilises des images png dans ton template il te faudra rajouter :

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.png$ /img/p/$1-$2$3.png [L,E]
RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.png$ /img/p/$1-$2.png [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.png$ /img/c/$1$2.png [L,E]



Tu peux d'ailleurs également rajouter :

RewriteBase /


ça mange pas de pain.

En fait j'ai trouvé la solution au problème :
Solution 1 : Dans Préférences > Images, il faut bien faire attention à ne pas déclarer des types d'images qui contiennent des espaces. Par exemple, si un type d'image "Liste produit" a été créé, il faut le renommer en "Liste-produit" et regénérer les images correspondantes.

Solution 2 : modifier les RewriteRules pour qu'elles acceptent les espaces dans les URL ( ). Perso je ne suis pas assez calé en expressions régulières pour modifier les rewrite-rules (+pas le temps de chercher à vrai dire). J'ai opté pour l'option 1. Si un balèse en REGEX veut nous arranger ça, je suis preneur.

Odolyte

Link to comment
Share on other sites

  • 5 weeks later...

Bonjour,
j'ai un soucis lors de la mise en place de l'URL simplifiée.
En effet quand je le met en place, il me met bien l'url simplifié mais la page indique l'erreur suivant:
Not Found
The requested document was not found on this server.

Web Server at chapeau.pro

pouvez vous me dire comment faire pour que cela fonctionne

cordialement
www.chapeau.pro

Link to comment
Share on other sites

  • 2 weeks later...

Hello,
Bon j'essaye depuis ce matin de m'en sortir avec ce .htaccess mais j'en peux plus
Je pense être très proche de la solution (grace à vous) mais il reste toujours un problème.
J'utilise le code donné par TiltAgain au quel j'ai ajouté les 3 lignes suplémentaires de Odolyte.

Ce qui me donne ce code:

SetEnv REGISTER_GLOBALS 0
SetEnv PHP_VER 5

# URL rewriting module activation
RewriteEngine on

# 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]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.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]
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.png$ /img/p/$1-$2$3.png [L,E]
RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.png$ /img/p/$1-$2.png [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.png$ /img/c/$1$2.png [L,E] 


# Catch 404 errors
ErrorDocument 404 /404.php



A première vu cela semble fonctionné!
Par contre le problème c'est qu'a droite du menu de droite (je suis avec le thème prestashop par default) j'ai une image d'un point d'interrogation dans un carré. (alors que normalement tout le background devrait être blanc).
regardez l'image que j'ai joint

30827_JECuipBwLJY1SiAsm23U_t

Link to comment
Share on other sites

  • 2 months later...

Alors j ai vu ou était le problème, mais je ne sais pas le résoudre. Déjà je vais essayer de l'expliquer:

'url non simplifié' j'ai comme lien de ma page cms 'livraison', par exemple http://www.monsite.com/cms.php?id_cms=1 ce qui est normal, ok.

Après avoir activé 'url simplifié' quand je regarde le lien de ma page cms 'livraison', j'ai http://www.monsite.com/content/1-livraison a moitié normal car je ne sais pas d'où sort ce /content/ dans le lien (pareil dans toute les pages créées avec cms), et c'est ça qui me fait disparaitre certaines images.

Autre cas aussi, je vais essayer de me faire comprendre:
Dans mes catégories si je prend la première, exemple ampoule bleu si je regarde son lien j'ai http://www.monsite.com/5-ampoules-bleu donc la tout va bien mais si je clique sur le premier article de cette catégorie, ampoules de salon, j'ai http://www.monsite.com/ampoules-bleu/10-ampoules-de-salon.html, la pareil certaine image on disparu et en plus ampoules-bleu c'est rajouter dans certains liens créer avec le cms.

Je ne sais pas si c'est clair, je pense que ça viens de mon htaccess, mais j'en essayé des dizaines, mais aucun me règle mon probleme.
Je suis en version 1.3.2.3 et chez ovh.

Merci à ceux qui tente de m'aider, la je suis bloqué.

Link to comment
Share on other sites

Bonjour,
exactement le même problème que tomtom250 (j'ai plusieurs points d'interrogation grisés dans des carrés les uns à coté des autres sur une ligne) et matdollars (sous répertoires inattendus) !

Contrairement à l'en-tête de ce fil, le sujet ne semble pas résolu pour tout le monde.
J'avoue que le sujet dépasse très largement mes compétences.
Quelqu'un aurait-il une idée pour nous mettre sur la voie ?

Je précise que je suis en version 1.3.2.3, et avec le thème Motion

Link to comment
Share on other sites

Trouvé !
Comme l'indique Marilo à la page http://www.prestashop.com/forums/viewthread/34798/modules_tiers/probleme_daffichage_dimages_en_mode_url_simplifiee_

la réponse est:
Je ne sais pas si ça va aider mais pour ma part ce qui faisait faire apparaître les points d’interrogation était le chemin vers la page d’erreur 404 (pour un fichier généré par le backoffice)

voici la forme de l’appel de la page d’erreur en générant le htaccess via l’admin :

Catch 404 errors
ErrorDocument 404 /404.php

Le code que j’ai collé de mon ancien htaccess en remplacement :

Catch 404 errors
ErrorDocument 404 http://www.votrenomdedomaine/404/404.php

Me voilà sauvé.
Hope this helps!

Link to comment
Share on other sites

  • 5 months 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...