Jump to content

Prestashop 1.3.7 et réécriture des URL et Connexion Clients TUTO


Recommended Posts

Bonjour,
j'ai travaillé 2 jours pour trouver la solution.

J'ai monté une boutique avec des traductions de langue, sans réécriture des URL c'est impeccable !
en réécrivant les URL sur les pages en langue étrangères, je me retrouve avec un erreur 404 ( page no found ) et une absence d'image au niveau des modules ( déjà vu, nouveau produits, produits phares ).

Le fichier.htaccess n'est pas bon.

Je suis les conseils de prestashop en générant depuis chez eux en fichier robot.txt et un fichier .htaccess et là c'est la catastrophe, j'ai une page blanche. Le fichier .htaccess fourni par Prestashop ainsi que son fichier robot.txt ne sont pas bon

J'ai la solution et je l'ai trouvé sur le forum d'OVH.

A : FICHIER .HTACCESS
1) Allez sur google outil pour webmaster et inscrivez et validez votre site.

2) Depuis le site google outil pour webmaster créez un fichier robot.txt
voici le mien :
User-agent: *
Allow: /

3) Placez le fichier robot.txt sur votre serveur à la racine du site ( dossier www) à l'aide de votre ftp.

4 ) allez dans votre ftp dans la partie du serveur OVH en vous connectant avec vos identifiants utilisés pour vous connecter à votre ftp ici : http://pro.ovh.net/net2ftp/index.php

5 ) ouvrez votre dossier www et cherchez votre fichier .htaccess

6) une fois le fichier trouvé, cliquez sur éditer, effacez son contenu et copiez ce code à la place :

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0

# 1. URL rewriting module activation
RewriteEngine on

# 1. 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]
RewriteRule (index.html) index.php

# 1. Catch 404 errors
ErrorDocument 404 /404.php

Attention ! Apparemment le site génère un liste à puce dans le code les 1. en retrait ne sont pas à mettre dans le code.

7) sauvegardez le tout en utilisant la fonction enregistrer.

8) revenez dans le back office de votre boutique et dans vos préférences cochez l'option réécriture des URL ( URL simplifiée ).

Tout cela fonctionne et dans toutes les langues !!!!!

Je bosse sur un macintosh, mais l'écriture et les codes de ce fichier fonctionnent sous Vista et Windows.
Veuillez me pardonner si mon texte est un peu serré ou si des balises apparaissent mais je n'ai pas l'habitude d'écrire dans ce type de forum.

Après avoir cherché 2 jours sans pratiquement dormir et testé des tas de codes fournis dans divers forums, codes qui au final ne fonctionnent pas, j'ai voulu vous donner un code qui fonctionne afin de vous éviter bien des galères.

Pour les novices, attention !!!!! le code doit être copier/coller tel qu'il est écrit, le moindre modification de votre part, peut être fatale, donc gardez toujours une copie de celui là.

B : CONNEXION DES CLIENTS

Il arrive souvent que des clients inscrits sur le site ne peuvent plus se connecter à leur compte. Le message d'erreur est ( 1. erreur d'authentification ). Vous pouvez effacer le fichier du client partout dans votre back office, il peut changer d'adresse mail, le site peut lui attribuer un nouveau mot de passe, bref il ne peut plus rentrer dans son compte.

Le client effacé du back office est malheureusement toujours inscrit dans un fichier de la base de données. mysql du serveur. Une fois effacé de la base de données il peut se réinscrire.

Voici la solution afin que cela n'arrive plus.

1) Allez dans votre partie ftp du serveur OVH en vous connectant ici : http://pro.ovh.net/net2ftp/index.php

2) Dans le dossier www, chercher le dossier " classes " et ouvrez le

3) le dossier classe contient le fichier "cookies.php" il faut le modifier. Cliquez sur éditer et chercher ceci :

function __construct($name, $path = '', $expire = NULL)
{
$this->_content = array();
$this->_expire = isset($expire) ? intval($expire) : (time() + 1728000);
$this->_name = md5($name.Tools::getHttpHost());
$this->_path = trim(__PS_BASE_URI__.$path, '/\\').'/';

Remplacez la durée d'expiration des cookies + 1728000 par 1200

4) enregistrez vos modifications, c'est terminé !!!!!!
Le client devra se reloguer si la durée de connexion qui est longue est écoulée. En cas de perte de connexion, paramétrer la sauvegarde du panier cela évitera à votre client de refaire ses courses.

Link to comment
Share on other sites

Le fichier .htaccess fourni par Prestashop ainsi que son fichier robot.txt ne sont pas bon

J'ai la solution et je l'ai trouvé sur le forum d'OVH.


Bonjour,

la réponse à votre problème est directement dans le texte ... Vous êtes chez OVH et comme leurs confrères de 1and1 et d'autre il y a des spécifications particulière liée à votre hébergeur et non à Prestashop.

Donc pas la peine de le relever ceci est expliquer plus de 5 000 fois dans le forum et c'est aussi expliqué dans la FAQ de OVH.

Donc oui, Prestashop n'a pas pris en compte tous les cas et c'est normal.

Vous remarquerez au passage que la version 1.4 de Prestashop intégrer un espace pour rajouter ces lignes optionnelles lié à votre hébergeur pour générer le htaccess. Comme quoi ils prennent bien en compte les remarques d'utilisation de leur produit.
Link to comment
Share on other sites

  • 4 weeks later...

Attention ! Apparemment le site génère un liste à puce dans le code les 1. en retrait ne sont pas à mettre dans le code.


Effectivement... ou alors tu aurais pu poster en utilisant la balise [ code ]...
Avant de crier et de venir reprocher des choses à tout va à tout le monde (notamment des anciens de ce forum qui aident bénévolement autant qu'ils peuvent), je t'invite à faire des recherches et à te renseigner comment fonctionnent les choses... :)
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...