J'y arrives pas tout seul

  • Auteur de la discussion Auteur de la discussion nonno13
  • Date de début Date de début
Nouveau WRInaute
Hola tous le monde,

Je suis désolé de vous demander de l'aide sur un sujet tant "discute", mais je n'y arrive pas.

C'est sur le module re write de apache.
Voici ma regle :
# Article avec numéro de page :
RewriteRule ^/boutique_jamonAcheter/(.*).html$ /boutique_jamonAcheter.php?prod_ref=$1 [L]

Quand j'appel la page : xxx.com/boutique_jamonAcheter/mareference.html, j'arrive bien sur la page : boutique_jamonAcheter.php, mais le probleme c'est que aucune variable ne passe.
Sur cette page j'ai mis un print_r ($_GET), pour voir les variables passés, mais rien de rien.
En fait, meme si j'appel juste xxx.com/boutique_jamonAcheter/
J'ai la meme chose que si j'appel une reference. C-a-d le design, mais sans variable et donc je n'ai pas l'info.

Pour info, mon site est hebergé chez ovh.com
 
WRInaute occasionnel
Je crus comprendre que c'est "prod_ref" qu'il n'arrive pas à récupérer. Donc je ne pense pas que le flag QSA arrangera son problème :?

@nonno13 : A tu contrôlé que tu n'avais pas un redirection de tout le répertoire, sur le fichier php ?

Si tu tapes, par exemple, l'adresse tondomaine/boutique_jamonAcheter/bob.php as tu une erreur 404 pour bob.php ou bien autre chose ?
 
WRInaute accro
magic corp. a dit:
Je crus comprendre que c'est "prod_ref" qu'il n'arrive pas à récupérer. Donc je ne pense pas que le flag QSA arrangera son problème :?
Effectivement, j'avais mal lu.
Et en tapant directement l'url voulue, ça donne quoi ?
 
WRInaute accro
manquait le '\', normal qu'il retournasse rien :D

Code:
RewriteRule ^/boutique_jamonAcheter/(.*)\.html$ /boutique_jamonAcheter.php?prod_ref=$1 [L]
 
Nouveau WRInaute
Alors, avant tout merci pour vos reponses.

J'ai essayé de mettre [QSA,L] mis non, ca ne change rien.
J'ai rajouté le '\'. La meme chose. Rien ne change.

Si j'appel la page mondomaine/jamon/boutique_jamonAcheter/bob.php
ou meme : mondomaine/jamon/boutique_jamonAcheter/
je n'ai pas d'erreur 404. Je vois bien ma page PHP qui s'appel :
mondomaine/jamon/boutique_jamonAcheter.php
Mais le prod_ref n'est pas prit en compte et donc rien ne s'affiche,

J'edite mon fichier .htaccess avec homesite, peut-etre le probleme vient il de la ? Il faut que le fichier soit sauvgarder d'une certainne maniere ?

Arnaud
 
WRInaute accro
Au debut du topic tu donne ca :

Code:
RewriteRule ^/boutique_jamonAcheter/(.*)\.html$ /boutique_jamonAcheter.php?prod_ref=$1 [L]

boutique_jamonAcheter.php?prod_ref=bob
====
boutique_jamonAcheter/bob.html


Et maintenant tu nous donne 2 autres URLs (voir + bas). Un peu de clarté dans ton probleme serait welcome.

-mondomaine/jamon/boutique_jamonAcheter.php
-mondomaine/jamon/boutique_jamonAcheter/bob.php
 
WRInaute accro
ajoute un R à ta règle [L] => [R,L]
cela permettra de voir comment la réécriture s'est effectuée
 
WRInaute accro
nonno13 a dit:
voila, j'ai rajouté :
RewriteRule ^/boutique_jamonAcheter/(.*)\.html$ /boutique_jamonAcheter.php?prod_ref=$1 [R,L]
c'est ça le problème, car on devrait voir la réécriture s'afficher.
le problème vient peut être de boutique_jamonAcheter qui est à la fois un répertoire (virtuel ?) et un script et la réécriture a surement un problème avec ça.
Essaie de changer le nom du script php, de toutes façons, une fois la règle OK, tu enlèves le R et ce nom n'apparaitra plus
 
WRInaute accro
nonno13 a dit:
Je vois bien mon produit de reference : 6050 sortir, mais l'URL est maintenant dynamique avec "?". Et c'est ce que je cherche a ne pas avoir pour le referencement.
Donc c'est bon :wink: il ne reste plus qu'à retransformer le [R,L] en [L] et ça sera OK
 
Nouveau WRInaute
Ok, effectivement ca marche, ;)
Merci bien pour ca.
Mais reelement je comprends pas trop bien pourquoi je ne dois pas mettre ^/

Merci encore
 
WRInaute accro
nonno13 a dit:
Mais reelement je comprends pas trop bien pourquoi je ne dois pas mettre ^/
selon les réglages des serveurs, l'url de réécriture comme ou non par / et donc si elle ne commence pas par /, indiquer / ou encore pire ^/ avec ^ qui indique le début de la chaine fait que cela ne fonctionne pas.
en fait, comme le / semble ne pas y être, tu pourrais juste laisser le ^ avec le reste de la chaine
 
Nouveau WRInaute
Ok. Merci pour l'explication. Et encore merci pour m'avoir aidé a regler le probleme leonick.

Arnaud
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut