Jump to content

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

Link to comment
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 :)
Link to comment
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. >:(

Link to comment
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

Link to comment
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.

Link to comment
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)

Link to comment
Share on other sites

  • 3 months later...

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

Link to comment
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:

Link to comment
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.
Link to comment
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.
Link to comment
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.

Link to comment
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

Link to comment
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


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

PS: Mon père possédait une 404... ;)
Link to comment
Share on other sites

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...
Link to comment
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


Si c'est vraiment urgent, tu es up & running dans la minute...
Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
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

Link to comment
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é.

Link to comment
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

Link to comment
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.

Link to comment
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é.

Link to comment
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!!!

Link to comment
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....

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