Aller au contenu

Sujets conseillés

Posté (modifié)

Hello les bons,

Petite question de validation.. Je flippe un peu avec mes manip'.

Je bosse sur le .htaccess de categorizator. J'ai un 90plan OVH.

1 ligne m'interpelle car dans son état initial elle ne passe pas :

RewriteRule ^details-([0-9]+)\.html$   /details.php?id=$1 [L]

> Erreur 404

Mais si j'enlève le ^

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore le ^ et le $

RewriteRule details-([0-9]+)\.html   /details.php?id=$1 [L]

ça passe nickel.

Hum, est-ce normal ? Des explications ? Spécificité à OVH ?

Je veux dire, là, je ne respecte pas la structure conventionnelle et ça passe... ai-je bien le droit ?

Merci pour vos précisions qui m'aideront à dormir sur mes 2 oreilles :sleep:

Bertrand

Modifié par bertimus
Posté (modifié)

Bonsoir,

rapidement, et à vue d'oeuil, je te dirais d'essayer ceci :

RewriteRule ^(.+?)\details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore

RewriteRule ^\details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

Rapide explication : il est possible que le slash d'entrée soit nécessaire (ex: www.ton-domain.com\details-10.html.

Bonne continuation, ;)

David.

Modifié par PhpTech
Posté (modifié)

Merci pour ton assistance David !

Bon, les 2 premiers marchent pas, seul le 3ème fonctionne comme je l'avais avancé dans mon 1er message.

Je reviens alors à mon interrogation initiale : puis-je continuer sans ^ ni $, ça ne pose aucun problème ?

Modifié par bertimus
Posté (modifié)
Merci pour ton assistance David !

Bon, les 2 premiers marchent pas, seul le 3ème fonctionne comme je l'avais avancé dans mon 1er message.

Je reviens alors à mon interrogation initiale : puis-je continuer sans ^ ni $, ça ne pose aucun problème ?

Oui et non, le "^" indique le départ de la chaine regexp, et le "$" la fin.

Si tu les enleves, ca marchera, c'est sur, mais...

/details-12.html.chose.machin

fonctionnera aussi, tout comme

truc/bidule/details-12.html.autre-truc.php

Essaye de réécrire en utilisant ce format :

RewriteRule ^(\\)?details-([0-9]+)\.html$  /details.php?id=$2 [L]

ou, le cas échéant:

RewriteRule ^(.+?)?details-([0-9]+)\.html$  /details.php?id=$2 [L]

Bon courage ;)

David.

Modifié par PhpTech
Posté (modifié)

OK c'est compris, merci pour tes explications et ton assistance !

Bon ben hallucinant, y'a rien à faire, tes 2 dernières propositions ne passent pas...

Je garde donc, faute de mieux :

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

Quoi qu'il en soit, encore merci pour ton assistance :)

Si quelqu'un d'autre a déjà rencontré ce problème, qu'il parle ou se taise à jamais ;)

Précision complémentaire (peut-être inutile) je travaille sur un sous-domaine, lequel pointe vers un sous-dossier. Et je le rappelle, je suis sur un mut 90plan ovh.

Bon, c'est l'heure de dormir, bonne nuit !

Modifié par bertimus
Posté

Si tu veux rendre facultatif le / de début de chaîne, mets ceci:

RewriteRule ^/?details-([0-9]+)\.html$  /details.php?id=$1 [L]

Posté (modifié)

Wow yeah ! Ca marche nickel Dan, merci à toi...

Un tuto de référence en tête où j'aurais pu découvrir ceci par moi-même ?

Si non, juste l'explication pour plus que j'embête le hub avec mes questions de noob ;)

Modifié par bertimus
Posté (modifié)

Arf, le truc c'est que je ne retrouve rien sur la signification du /? juste après le ^ de début.

Il veut dire quoi ?

Bon il est 8h aussi, c'est peut-être pas le bon moment ;)

Modifié par bertimus
Posté (modifié)

OK !

1) Merci à vous 3 qui avez pris le temps de vous pencher sur mon cas ;)

2) Bravo pour la rapidité de réponse.

3) Bonne journée !

Bertrand

Modifié par bertimus

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...