Jump to content
Sign in to follow this  
JGodard

[RESOLU] PROBLEME URL REWRITING

Recommended Posts

Bonjour,

J'ai presque terminé :-) de rentrer les produits d'une nouvelle boutique réalisée sous Prestashop V1.0 finale. Cette boutique Prestashop est pour le moment dans le répertoire /shop d'une boutique actuellemnt en fonctionnement, hébergée sur 1and1. La boutique Prestashop remplacera ensuite l'ancienne.

Je viens d'activer l'url rewriting dans le B.O., et j'ai mis à la racine du site le .htaccess contenant :

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

# URL rewriting module activation
RewriteEngine on
RewriteBase /shop/

# URL rewriting rules
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 ^([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

J'ai mis un php.ini dans l'admin et dans le répertoire /shop/ rédigé ainsi :

extension=php_curl.dll
allow_url_fopen=On
allow_url_include=On

La page d'accueil s'ouvre normalement, quand je passe le pointeur sur un lien "Catégorie", d'un produit de la rubrique "Produits Phares" ou des "Nouveautés etc... les liens sont correctement affichés (url réécrites) dans la barre d'état (celle du bas), mais lorsque je clique sur un des liens cela m'affiche la page "Error 404-Not Found". >:-(

Mes questions :

1 - :question: Faut-il activer l'url rewriting dans la B.O. de la boutique avant toute entrée de catégorie et de produits?

2 - Si la réponse est non (c.a.d. on peut le faire après) où peut se situer le problème sachant qu'à l'enregistrement de chaque produit l'url réécrite correspondante était présente dans sa page des Infos, donc (en principe) enregistrée dans la BDD ? >:-(

En vous remerciant pour votre aide ainsi que l'équipe de Prestashop pour son travail :) ,
Cordialement,

JGodard.

Share this post


Link to post
Share on other sites


J'ai mis un php.ini dans l'admin et dans le répertoire /shop/ rédigé ainsi :

extension=php_curl.dll
allow_url_fopen=On
allow_url_include=On



un php.ini à plusieurs endroits :bug:
ça c'est comme highlander, il ne peut y en avoir qu'un!!

plus sérieusement, qu'est ce que vient faire le php.ini ici?

il suffit d'activer l'url rewriting comme module d'apache :)

Share this post


Link to post
Share on other sites

Tu dois mettre le fichier .htaccess dans le répertoire racine de PrestaShop ;) Et pas dans le répertoire racine de ton site :)

Et tu peux très bien activer et désactiver l'url rewriting quand tu le souhaites ;)

Share this post


Link to post
Share on other sites

Bonsoir et merci à tous pour vos réponses rapides :)

J'ai essayé toutes les combinaisons possibles avant de poster et en modifiant le RewriteBase :

RewriteBase / à la racine du repertoire /shop/ (Prestashop) et

RewriteBase /shop/ à la racine www. du site

Toujours le même résultat 404 :-S

Pour le php.ini, j'ai lu sur un post relatifs aux mêmes problèmes que les miens qu'il fallait éventuellement en mettre une version à la racine du site en plus de l'Admin et de l'Install. Abondance de bien ne nuit pas je pense dans ce cas...
Le rewriting est (en pricipe) activé sur le serveur.

J'ai remarqué que si j'enregistrais le fichier htaccess.tx sous Notepad ++ en UTF8 j'avais une erreur 500 sans ouverture de la page d'accueil, enregistré en mode ANSI la page d'accueil s'ouvre mais les problèmes demeurent ensuite avec la 404. >:(

Share this post


Link to post
Share on other sites

Oublie ton fichier .ini et creer un autre fichier .htacess et voici ce que tu dis intergrer:

# URL rewriting module activation
RewriteEngine on
AddHandler x-httpd-php5 .php
AddType applimcation/x-httpd-php5 .php
# URL rewriting rules
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 ^([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


est voila ca dois fonctionner

Share this post


Link to post
Share on other sites

Bonjour samlamenace,

merci pour ta proposition, mais cela ne marche pas.

1and1 ne semble pas aimer les commandes : AddHandler x-httpd-php5 .php & AddType applimcation/x-httpd-php5 .php .

Avec le .htaccess que tu proposes l'ouverture de ma page d'accueil devient impossible aussi bien avec I.E.6, I.E. 7 que Firefox 3. Au lieu de m'afficher la page, les navigateurs me proposent de "télécharger ou d'exécuter" le fichier ???.

J'ai rédigé mon .htaccess ainsi qu'il est conseillé dans le topic relatif à 1&1;:
http://www.prestashop.com/forums/viewthread/446/installation_configuration_et_mise_a_jour/preinstallation_settings_php_5_htaccess_for_certain_hosting_services

Le problème vient-il du fait que la boutique Prestashop est actuellement dans un sous répertoire d'un site en html ???. Je me repencherai sur le problème quand cette boutique sera terminée, elle doit remplacer l'actuelle (en html), à la racine du site.

Cordialement,
JGodard.

Share this post


Link to post
Share on other sites

Quelle offre d'hébergement as-tu chez 1&1;?
Car nosu avons plusieurs clients qui ont PrestaShop sur un hébergement 1&1;mais jamais eu de soucis.
Si tu veux, envoies moi par mp ton accès FTP que je regarde (penses ensuite à modifier le mot de passe une fois que j'aurai fini)

Share this post


Link to post
Share on other sites

Mais tu l'as activé l'URL rewriting ?

Panneau d'administration >> Préférences
URL simplifié

Share this post


Link to post
Share on other sites

Merci

Je n'avais pas ecris la ligne : RewriteBase /

en ajoutant cette ligne, c'est pire , je n'ai plus rien sauf une erreur 500 : http://www.boucles-oreille.fr/

Puis ces erreurs :

Warning: include(/homepages/43/d1399974/htdocs/config/config.inc.php) [function.include]: failed to open stream: No such file or directory in /homepages/43/d1392974/htdocs/index.php on line 3

Warning: include() [function.include]: Failed opening '/homepages/43/d1399974/htdocs/config/config.inc.php' for inclusion (include_path='.:/usr/lib/php5') in /homepages/43/d1392974/htdocs/index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /homepages/43/d1392974/htdocs/bijouxpresta/index.php:3) in /homepages/43/d1392974/htdocs/header.php on line 4


en deplacant RewriteBase / dans le fichier htaccess

Share this post


Link to post
Share on other sites

Il semble que ta boutique se trouve dans un dossier bijouxpresta.

Donc l'instruction correcte serait :
RewriteBase /bijouxpresta

Si ça marche pas essaye :
RewriteBase /bijouxpresta/
mais je crois qu'il ne faut pas le '/' à la fin... sais plus... :red:

Share this post


Link to post
Share on other sites

Ce n'est pas ca.

bijouxpresta est le dossier dans lequel j'ai mis le script chez mon hebergeur, mais mon nom de domaine pointe vers le contenu de ce dossier.

j'ai donc le script à la racine de boucles-oreille.fr

Share this post


Link to post
Share on other sites

j'ai enlevé lles reecriture d'url, et toujours les memes erreurs.

maintenant je n'ai plus de site!

Je n'ai plus de dossier config. Est ce normal? je ne me souvient plus si on doit l'effacer apres l'installation.

Share this post


Link to post
Share on other sites

Est-ce que tu as au moins essayé la modif du RewriteBase dans ton htaccess ?

Share this post


Link to post
Share on other sites
oui

c'est ce que j'ai expliqué


Non, tu n'as rien expliqué du tout concernant la manip que je t'ai recommandée, tu as juste dit que ce n'était pas ça, sans dire si tu l'avait faite ou pas...


Je n'ai plus de dossier config. Est ce normal? je ne me souvient plus si on doit l'effacer après l'installation.


Non, le dossier config n'est pas à supprimer.

Share this post


Link to post
Share on other sites
Je n’avais pas ecris la ligne : RewriteBase /

en ajoutant cette ligne (RewriteBase /), c’est pire , je n’ai plus rien sauf une erreur 500 : http://www.boucles-oreille.fr/

Puis ces erreurs :

Warning: include(/homepages/43/d1399974/htdocs/config/config.inc.php) [function.include]: failed to open stream: No such file or directory in /homepages/43/d1392974/htdocs/index.php on line 3

Warning: include() [function.include]: Failed opening ‘/homepages/43/d1399974/htdocs/config/config.inc.php’ for inclusion (include_path=’.:/usr/lib/php5’) in /homepages/43/d1392974/htdocs/index.php on line 3

Warning: Cannot modify header information – headers already sent by (output started at /homepages/43/d1392974/htdocs/bijouxpresta/index.php:3) in /homepages/43/d1392974/htdocs/header.php on line 4

en deplacant RewriteBase / dans le fichier htaccess



J'ai tout reinstallé a l'instant.
Le site remarche donc. je vais refaire la manip, soit :
Activer l'url rewriting dans l'admin et activer le fichier htacces en insérant la ligne pour le PHP 5 chez 1&1;:



AddType x-mapp-php5 .php
# URL rewriting module activation
RewriteBase /
RewriteEngine on

# URL rewriting rules
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 ^([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






ca ne marche pas.

Share this post


Link to post
Share on other sites

merci

le premier lien n eme concerne pas. Je n'ai pas de probleme avec le php5

Le second lien est interessant. J'ai fait ce qui est dit, mais j'ai une erreur 500. je ne peux pas installer prestashop.

Share this post


Link to post
Share on other sites

Dis nous EXACTEMENT ce que tu fais... ça pourrait nous aider à t'aider...

Share this post


Link to post
Share on other sites

en mettant ca dans le htaccess :

AddType x-mapp-php5 .php 
# URL rewriting module activation
RewriteBase / 
RewriteEngine on

# URL rewriting rules
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$3 [L,E] 


# Catch 404 errors
ErrorDocument 404 /404.php



je n'ai plus d'erreur 500, je peux lancer l'install. J'etais confiant car j'avais l'option url externe OK durant l'install, mais idem. les liens sont en 404.

Share this post


Link to post
Share on other sites

Bonjour,
pour ma part j'ai le même problème en local "évaluation PS depuis 3 jours".
l'url rew ne fonctionne pas, pour info je suis en easyPHP 3.0 et ca marche parfaitement avec Drupal 6
si j'active l'url rew, j'ai une 404 (pas une peugeot...une erreur).

Je cherche...
J'ai un peu peur car je suis chez Amen, peur que cela ne fonctionne pas...

Dominique

Share this post


Link to post
Share on other sites
Guest
Bonjour,
pour ma part j'ai le même problème en local "évaluation PS depuis 3 jours".
l'url rew ne fonctionne pas, pour info je suis en easyPHP 3.0 et ca marche parfaitement avec Drupal 6
si j'active l'url rew, j'ai une 404 (pas une peugeot...une erreur).

Je cherche...
J'ai un peu peur car je suis chez Amen, peur que cela ne fonctionne pas...

Dominique


Pourquoi ne pas faire le test en live directement chez amen...

PS: Mon père possédait une 404... ;)

Share this post


Link to post
Share on other sites

apparement le rewriting ne marche pas pour Prestashop.

C'est dommage, c'est primmordial (en tout cas pour moi).

Share this post


Link to post
Share on other sites
Guest
apparement le rewriting ne marche pas pour Prestashop.

C'est dommage, c'est primmordial (en tout cas pour moi).


Est-ce que tu peux détaillé... Je pense que c'est surtout avec ton hébergeur actuel qu'il y a problème!?!... Corrige moi si je me trompe...

Share this post


Link to post
Share on other sites

j'ai tout expliqué sur les deux pages de cette discussion.

Va sur mon site : http://www.boucles-oreille.fr et clique sur une categorie.

--> erreur 404

j'ai créé le htaccess (avec le php5 pour 1&1;, le rewritebase, le rewritengine on, juste de rewriting pour les categories et les produits)
j'ai créé le php.ini
j'ai activé les url simples

Share this post


Link to post
Share on other sites

Bon, si une bonne âme hébergée chez 1and1 passe par là, merci d'apporter de l'aide...

Share this post


Link to post
Share on other sites

ca serait plus efficace si Prestashop contacte 1&1;plutot que d'attendre qu'un ingenieur de 1&1;passe par hasard sur ce forum...

C'est juste une suggestion comme ca.

Voila le numero : 0825 080 020

Share this post


Link to post
Share on other sites
Guest
j'ai tout expliqué sur les deux pages de cette discussion.

Va sur mon site : http://www.boucles-oreille.fr et clique sur une categorie.

--> erreur 404

j'ai créé le htaccess (avec le php5 pour 1&1;, le rewritebase, le rewritengine on, juste de rewriting pour les categories et les produits)
j'ai créé le php.ini
j'ai activé les url simples


Si c'est vraiment urgent, tu es up & running dans la minute...

Share this post


Link to post
Share on other sites

Il faut voir ce que ça donne avec le thème par défaut...

Share this post


Link to post
Share on other sites

Bonjour Cyrille17,

J'ai eu ce problème avec 1and1 puisque c'est moi qui ai initié ce fil.
A la suite d'un autre problème, voir ce fil :
http://www.prestashop.com/forums/viewthread/10600/installation_configuration_et_mise_a_jour/encore_un_probleme_dans_la_relation_paypalprstashop_v1_dot_1/

j'ai tout réinstallé la V1.1, alors que j'avais fait une mise à jour de V1 vers V1.1, et refait mon thème avec les nouveaux fichiers du thème Prestashop. J'ai tout refait au propre suivant les conseils de eric69. Avant de faite l'installation j'ai ajouté dans le .htaccess de l'installation les lignes suivantes pour 1and1:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
# URL rewriting module activation
RewriteEngine on
RewriteBase /

De même à la racine du site, dans les répertoires admin et install, j'ai mis un php.ini contenant :
allow_url_fopen=On
allow_url_include=On
Certains m'ont écrit que dans la racine du site le php.ini était une hérésie. Mais en lançant un phpinfo.php sur le site, je me suis rendu compte que ce php.ini était pris en compte.

Après l'installation, ma première vérification a été pour Paypal et elle a été positive. A tout hasard j'ai activé l'Url rewriting dans le B.O. et là, miracle ça marchait. Je te souhaite la même chose.
Mais avant de tout réinstaller tu devrais faire un test en permutant les deux ordres que tu as mis dans ton .htaccess:
RewriteBase /
RewriteEngine on

en :
RewriteEngine on
RewriteBase /

la chronologie des ordres a sans doute une importance car le RewriteBase / ne peut être pris en compte que si le
RewriteEngine on est activé, j'ai peur que dans ton cas le RewriteBase / ne soit jamais considéré par le serveur.

J"espère que cela t'aidera, pour ma part je vais mettre "Résolu" sur mon premier post.
JGodard.

Share this post


Link to post
Share on other sites

Merci pour ta reponse Jgodard

J'ai deja fait toutes ces manips y compris inverser l'ordre de ces deux lignes de commandes.

Je suis un peu retissent a tout reessayer sans nouveau element.

En fait le rewriting semble marcher mais c'est les pages qui sont inexistantes (404).

Je ne suis pas developpeur pour pouvoir determiner d'ou viends le probleme, mais je pense que cela doit etre facilement diagnostiquable.

Est ce les regles de reecritures qui sont incorrectes dans le htaccess ou autre chose?

Merci pour ton aide

Share this post


Link to post
Share on other sites

Bonjour Cyrille17,

Désolé de ne pas avoir pu te répondre plus tôt.
J'ai simplement utilisé le htaccess.txt fourni avec l'installation de la v1.1.
Je l'ai édité en ligne pour ajouter les commandes décrites plus haut sans toucher au reste (moi non plus je ne suis pas développeur) et renommé ensuite en .htaccess
Ci-dessous le libellé, en copier coller de mon .htaccess qui fonctionne sous 1and1:
_____________________________________________

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

# URL rewriting module activation
RewriteEngine on
RewriteBase /
# 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

_______________________________________________________

As-tu fait une mise à jour de la BDD vers la V1.1 ou as-tu fait une installation directe de la v1.1?
Ta BDD est bien en UTF8 (création, sauvegarde et importation des tables)? Personnellement je les manipule en mode utf8_general_ci

Vérifie tes tables: "ps_product_lang" et "ps_category_lang" , regarde si le champ (colonne) "link_rewrite" est correctement renseigné.

Share this post


Link to post
Share on other sites

Merci Jgodard


quand j'utilise tes regles de rewriting j'ai une erreur 500 sur tout le site.

quand j'utilise cette regles : AddType x-mapp-php5 .php

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$3 [L,E]

mon site marche mais avec des 404 sur les url

Share this post


Link to post
Share on other sites

Bonjour cyrille17,
tu as exactement le même problème que j'avais (erreurs 404 ou 500) avec la V1.0 et la V1.1 en upgrade.
Tout a disparu par miracle, et ne me demande pas comment, avec l'installation fraîche de la V1.1 et avec le .htaccess de l'installation
+ la commande à ajouter pour 1&1;tel que cela est indiqué à :
http://www.prestashop.com/forums/viewthread/446/installation_configuration_et_mise_a_jour/preinstallation_settings_php_5_htaccess_for_certain_hosting_services
pour ce qui concerne l'ajout de AddType x-mapp-php5 .php et de RewriteBase / (si le script Prestashop est à la racine) ou RewriteBase/shop/ si il est dans le répertoire "shop".
Une précision : j'ai activé et modifié le .htaccess avant de faire l'installation "fraîche".
Tu ne m'as pas précisé si tu avais fait un upgrade de V1.0 vers V1.1 ou une nouvelle installation de V1.1.

Share this post


Link to post
Share on other sites

D'apres ce que tu me dis, j'ai du installé la 1.0

Et si je comprend bien : je supprime tout, j'ecris le .htaccess que tu donnes, puis j'installe la 1.1 et ca devrait marcher?

Share this post


Link to post
Share on other sites

C'est ce que j'ai fait.
Le .htaccess que j'ai donné est celui de l'installation de la V1.1 , j'ai juste ajouté les 2 lignes pour le php5 et celle de RewriteBase / , SURTOUT sans toucher aux autres lignes de code.
Pour moi ça a marché.

Share this post


Link to post
Share on other sites

Non, il vaut mieux soit créer une autre base de données pour cette installation si ton hébergement le permet,
soit effacer toutes les tables si tu ne peux pas en créer un 2ème comme moi.
J'ai commencé à faire une installation fraîche en local et incorporé avec PhpMyadmin petit à petit les tables de mon ancienne BDD .
Comme il y a environ 300 produits en ligne + déclinaisons de couleurs, motifs et tailles dans 2 langues,
je n'avais pas envie d'avoir tout à refaire, sans parler des pages légales Fr +En, tarifs transport par zones etc..
Pour tout refaire :
- le thème et css avec les nouveaux fichiers du thème Prestashop
(il y a quelques nouveaux postes à renseigner par rapport à la V1.0),
- remplir la BDD il m'a fallu environ 2 jours.

Dans mon fil :
http://www.prestashop.com/forums/viewthread/10600/installation_configuration_et_mise_a_jour/encore_un_probleme_dans_la_relation_paypalprstashop_v1_dot_1/
j'indique les manipulations que j'ai faites. Ensuite j'ai importé mon thème, images, et ma base de donnée dans l'installation en ligne
ça a marché sans gros problèmes après quelques derniers ajustements dans le css.

Il est possible aussi de le faire en sauvegardant chaque table en .csv avec phpmyadmin, et de les importer un par un par l'Import du B.O.
Pour ma part j'ai préféré travailler en local avec PhpMyadmin car le résultat est visible directement et éventuellement il est possible de corriger 2-3 trucs.
Bon courage...ce n'est pas insurmontable, le seul problème est que dans peu de temps il faudra tout refaire avec la V1.2!!!

Share this post


Link to post
Share on other sites

sauf qu'en fait le theme que j'ai installé ne march epas tres bien apparement.

Peux etre ce du a ce que tu m'as expliqué?

Share this post


Link to post
Share on other sites

Il faut refaire ton thème (pour la V1.0) avec les nouveaux fichiers du thème Prestashop par défaut de la V1.1, modules compris.
Si tu as fait des modifications dans les *.tpl, il faut les reporter et les adapter aux codes de la V1.1., de même avec le
global.css.
Si tu utilise ton ancien thème tel quel avec la V1.1, cela devient n'importe quoi....

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More