Jump to content
Sign in to follow this  
els

URL rewritng OVH je craque

Rate this topic

Recommended Posts

Bonjour messieurs (et mesdames peu etre)

Cela fait maintenant plus d'une semaine que je tente de modifier une règle de rewriting chez ovh et je n'y arrive pas ...

J'avais une règle qui fonctionnait

RewriteRule ^comparatif-prix-articles/(.+)-([0-9]+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2 [L] 

qui me transformait l'url suivante

http://www.mondomaine.fr/comparatif-prix-articles/Herta_LE_BON_PARIS_Jambon_6_tranches/1.html

en

http://www.mondomaine.fr/comparatif-prix-article-cybermarche.php?id_article=1

je souhaite modifier le séparateur de - en /

je code donc

RewriteRule ^comparatif-prix-articles/(.+)/([0-9]+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2 [L] 

Et la cela ne fonctionne plus ???

au final je souhaiterai arriver à une url du type

http://www.mondomaine.fr/comparatif-prix-articles/Herta_LE_BON_PARIS_Jambon_6_tranches/1/r/2009-10-07.html

j'aurai mis la règle suivante en place

RewriteRule ^comparatif-prix-articles/(.+)/([0-9]+)/r/([0-9]-+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2&date=$3 [L] 

J'ai lu pas mal de chose sur ovh sur ce forum mais même en faisant de long test je n'arrive pas a débloquer la situation

Je n'ai pas assez de recul pour voir une énorme erreur ou il y a un truc que je n'ai pas compris dans l'url rewriting du coup j'en fait appel a votre aide

Merci d'avance pour vos réponses qui m'aiderons j'en suis sur

Eric

Share this post


Link to post
Share on other sites

Hormis le sempiternel problème du '/' qui manque au début de la cible (si c'est de l'OVH mutualisé), cela devrait fonctionner. Si ce n'est pas le cas, il faut regarder l'emplacement (si ce n'est pas à la racine) ou si d'autres règles interagissent.

Mais, sans vouloir critiquer, je trouve le rewriting assez moyen car c'est vrai que ça marche avec "le bon jambon" mais ça marchera tout aussi bien avec "cueillette des olives en Basse Provence"... :rolleyes:

Pour un rewriting bien fait, il faut qu'il n'y ait qu'une URL qui se transforme en une autre. Bon, mais je me mêle peut-être de ce qui ne me regarde pas... :P

Share this post


Link to post
Share on other sites

C'est ta dernière règle qui n'est pas bonne...

Au lieu de

RewriteRule ^comparatif-prix-articles/(.+)/([0-9]+)/r/([0-9]-+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2&date=$3 [L] 

essaie avec

RewriteRule ^comparatif-prix-articles/(.+)/([0-9]+)/r/([-0-9]+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2&date=$3 [L] 

Je change le ([0-9]-+) en ([-0-9]+) parce qu'avec la première formulation, tu ne permets qu'un chiffre et un ou plusieurs '-'

Share this post


Link to post
Share on other sites

Mais, sans vouloir critiquer, je trouve le rewriting assez moyen car c'est vrai que ça marche avec "le bon jambon" mais ça marchera tout aussi bien avec "cueillette des olives en Basse Provence"... :rolleyes:

Pour un rewriting bien fait, il faut qu'il n'y ait qu'une URL qui se transforme en une autre. Bon, mais je me mêle peut-être de ce qui ne me regarde pas... :P

mais pour cela, on peut a posteriori traiter l'identifiant véhiculé et vérifier la correspondance avec du PHP, non ?

Share this post


Link to post
Share on other sites

Dans ce cas, il faudrait carrément se passer de l'identifiant, et ne traiter que la chaîne de caractères ;)

Share this post


Link to post
Share on other sites

Ok mais dans ce cas, si on a 1000 articles en bdd, il faudrait alors parser alors toutes les lignes de la bdd pour "matcher" la bonne chaîne tandis que avec l'identifiant, on vérifie directement la bonne ligne d'enregistrement quand même, non ?

Edited by georges

Share this post


Link to post
Share on other sites

Tu fais pareil avec l'id, à ce qu'il me semble ;)

L'essentiel étant d'avoir une valeur indexée à rechercher.

Dans l'idéal, tu enregistres même quelque part (dans une table à part, par exemple), la chaîne de caractères une fois passée à la moulinette pour qu'elle ressemble bien à une url.

Share this post


Link to post
Share on other sites

ok, vu sous cet angle (le fait de stocker la chaîne), je comprends mieux. :);)

Share this post


Link to post
Share on other sites

Et si tu gères bien ton script, tu peux même t'en servir pour faire des redirections 301 facilement en cas de renommage de page.

Share this post


Link to post
Share on other sites

Messieurs

Merci pour vos réponses

Je vais répondre dans l'odre : c'est effectivement pas la règle la plus "fine" qui soit mais en fait je fais cela pour le ref nat. Plus l'url est explicite mieux on est référencé il me semble.

Alors oui à la place du jambon je peux mettre "Tante martine" cela devrait fonctionner aussi.

Ensuite je passe un id derrière, car pour moi il est plus facile d'aller chercher un article référencé par un id dans ma base que de faire un full scan sur un champ texte

Bref tout cela pour vous annoncer que ca ne fonctionne toujours pas même avec votre aide.

voila mon htaccess


SetEnv PHP_VER 5
RewriteEngine on
Options +FollowSymlinks
Options -MultiViews
RewriteRule ^/comparatif-prix-articles/(.+)-([0-9]+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2

cette ligne fonctionne

RewriteRule ^/comparatif-prix-articles/(.+)-([0-9]+)\.html$ comparatif-prix-article-cybermarche.php?id_article=$2

pour cette url

http://www.mondomaine.fr/comparatif-prix-articles/Herta_LE_BON_PARIS_Jambon_tranches-1.html

par contre si je fais cela rien ne fonctionne plus

cette ligne fonctionne

RewriteRule ^/comparatif-prix-articles/(.+)-([0-9]+)-s\.html$ comparatif-prix-article-cybermarche.php?id_article=$2&from=s

pour cette url

http://www.mondomaine.fr/comparatif-prix-articles/Herta_LE_BON_PARIS_Jambon_tranches-1-s.html

je ne sais vraiment pas comment faire

Merci d'avance

PS : c'est effectivement un OVH mutu

Eric

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